{"action":"closed","number":333,"pull_request":{"url":"https://api.github.com/repos/hyperoslo/Form/pulls/333","id":33450547,"html_url":"https://github.com/hyperoslo/Form/pull/333","diff_url":"https://github.com/hyperoslo/Form/pull/333.diff","patch_url":"https://github.com/hyperoslo/Form/pull/333.patch","issue_url":"https://api.github.com/repos/hyperoslo/Form/issues/333","number":333,"state":"closed","locked":false,"title":"Added functionality for selecting a date with time, and time on its own.","user":{"login":"Mutix","id":677629,"avatar_url":"https://avatars.githubusercontent.com/u/677629?v=3","gravatar_id":"","url":"https://api.github.com/users/Mutix","html_url":"https://github.com/Mutix","followers_url":"https://api.github.com/users/Mutix/followers","following_url":"https://api.github.com/users/Mutix/following{/other_user}","gists_url":"https://api.github.com/users/Mutix/gists{/gist_id}","starred_url":"https://api.github.com/users/Mutix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mutix/subscriptions","organizations_url":"https://api.github.com/users/Mutix/orgs","repos_url":"https://api.github.com/users/Mutix/repos","events_url":"https://api.github.com/users/Mutix/events{/privacy}","received_events_url":"https://api.github.com/users/Mutix/received_events","type":"User","site_admin":false},"body":"Hi guys,\r\n\r\nI've added what I think is a useful feature as discussed with @3lvis in the issue opened earlier: https://github.com/hyperoslo/Form/issues/332\r\n\r\nThe below change-log should be explicit enough to explain how I went about making the changes.\r\n\r\nLook forward to hearing your thoughts and suggestions if it needs any more work done before being integrated into this awesome library :)\r\n\r\n- added two new `FORMFieldTypes`: `FORMFieldTypeDateTime` and `FORMFieldTypeTime`\r\n- new type strings are respectively: `date_time` and `time`\r\n- updated the `FORMField` model to handle the two new field types\r\n- updated the `FORMDataSource` to handle the two new field types (`FORMFieldTypeDateTime` and `FORMFieldTypeTime` both return `FORMDateFormFieldCellIdentifier` cell identifier like the existing `FORMFieldTypeDate` type)\r\n- updated the `FORMDateFieldCell` to set the UIDatePicker's `datePickerStyle` depending on the field's type (`UIDatePickerModeDate` for `FORMFieldTypeDate`, `UIDatePickerModeDateAndTime` for `FORMFieldTypeDateTime` and `UIDatePickerModeTime` for `FORMFieldTypeTime`)\r\n- updated the `FORMDateFieldCell` to display the correct date string in the field by changing the date formatter's date and time styles depending on the field type\r\n- added a clock icon to show in the fields of type `FORMFieldTypeTime`\r\n- refactored the `FORMDateFieldCell` to display a different icon depending on the field type (moved the setting of the image from the initialiser into the `updateWithField:` method)\r\n- added some fields in the test field-validations.json, including on required date field\r\n- updated `FORMDataTests` to check that the date field is considered invalid\r\n- added tests in the `FORMFieldTests` to check the initialisation of the new `FORMFieldTypeDateTime` and `FORMFieldTypeTime` fields\r\n- updated the `FORMDataSourceTests` to account for the invalid date field added in the field-validations.json, to check that it is considered valid when given a date\r\n- updated Obj-C demo app with time fields","created_at":"2015-04-16T13:30:20Z","updated_at":"2015-04-16T15:10:22Z","closed_at":"2015-04-16T15:10:22Z","merged_at":"2015-04-16T15:10:22Z","merge_commit_sha":"55e88402dd2ba7e6b036c007d310739a625c5673","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/hyperoslo/Form/pulls/333/commits","review_comments_url":"https://api.github.com/repos/hyperoslo/Form/pulls/333/comments","review_comment_url":"https://api.github.com/repos/hyperoslo/Form/pulls/comments{/number}","comments_url":"https://api.github.com/repos/hyperoslo/Form/issues/333/comments","statuses_url":"https://api.github.com/repos/hyperoslo/Form/statuses/104cbd9dc438545d9a47d8ba6fd94c02489f783e","head":{"label":"Mutix:feature/timepicker","ref":"feature/timepicker","sha":"104cbd9dc438545d9a47d8ba6fd94c02489f783e","user":{"login":"Mutix","id":677629,"avatar_url":"https://avatars.githubusercontent.com/u/677629?v=3","gravatar_id":"","url":"https://api.github.com/users/Mutix","html_url":"https://github.com/Mutix","followers_url":"https://api.github.com/users/Mutix/followers","following_url":"https://api.github.com/users/Mutix/following{/other_user}","gists_url":"https://api.github.com/users/Mutix/gists{/gist_id}","starred_url":"https://api.github.com/users/Mutix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mutix/subscriptions","organizations_url":"https://api.github.com/users/Mutix/orgs","repos_url":"https://api.github.com/users/Mutix/repos","events_url":"https://api.github.com/users/Mutix/events{/privacy}","received_events_url":"https://api.github.com/users/Mutix/received_events","type":"User","site_admin":false},"repo":{"id":34052552,"name":"Form","full_name":"Mutix/Form","owner":{"login":"Mutix","id":677629,"avatar_url":"https://avatars.githubusercontent.com/u/677629?v=3","gravatar_id":"","url":"https://api.github.com/users/Mutix","html_url":"https://github.com/Mutix","followers_url":"https://api.github.com/users/Mutix/followers","following_url":"https://api.github.com/users/Mutix/following{/other_user}","gists_url":"https://api.github.com/users/Mutix/gists{/gist_id}","starred_url":"https://api.github.com/users/Mutix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mutix/subscriptions","organizations_url":"https://api.github.com/users/Mutix/orgs","repos_url":"https://api.github.com/users/Mutix/repos","events_url":"https://api.github.com/users/Mutix/events{/privacy}","received_events_url":"https://api.github.com/users/Mutix/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Mutix/Form","description":"The most flexible and powerful way to build a form on iOS","fork":true,"url":"https://api.github.com/repos/Mutix/Form","forks_url":"https://api.github.com/repos/Mutix/Form/forks","keys_url":"https://api.github.com/repos/Mutix/Form/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Mutix/Form/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Mutix/Form/teams","hooks_url":"https://api.github.com/repos/Mutix/Form/hooks","issue_events_url":"https://api.github.com/repos/Mutix/Form/issues/events{/number}","events_url":"https://api.github.com/repos/Mutix/Form/events","assignees_url":"https://api.github.com/repos/Mutix/Form/assignees{/user}","branches_url":"https://api.github.com/repos/Mutix/Form/branches{/branch}","tags_url":"https://api.github.com/repos/Mutix/Form/tags","blobs_url":"https://api.github.com/repos/Mutix/Form/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Mutix/Form/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Mutix/Form/git/refs{/sha}","trees_url":"https://api.github.com/repos/Mutix/Form/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Mutix/Form/statuses/{sha}","languages_url":"https://api.github.com/repos/Mutix/Form/languages","stargazers_url":"https://api.github.com/repos/Mutix/Form/stargazers","contributors_url":"https://api.github.com/repos/Mutix/Form/contributors","subscribers_url":"https://api.github.com/repos/Mutix/Form/subscribers","subscription_url":"https://api.github.com/repos/Mutix/Form/subscription","commits_url":"https://api.github.com/repos/Mutix/Form/commits{/sha}","git_commits_url":"https://api.github.com/repos/Mutix/Form/git/commits{/sha}","comments_url":"https://api.github.com/repos/Mutix/Form/comments{/number}","issue_comment_url":"https://api.github.com/repos/Mutix/Form/issues/comments{/number}","contents_url":"https://api.github.com/repos/Mutix/Form/contents/{+path}","compare_url":"https://api.github.com/repos/Mutix/Form/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Mutix/Form/merges","archive_url":"https://api.github.com/repos/Mutix/Form/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Mutix/Form/downloads","issues_url":"https://api.github.com/repos/Mutix/Form/issues{/number}","pulls_url":"https://api.github.com/repos/Mutix/Form/pulls{/number}","milestones_url":"https://api.github.com/repos/Mutix/Form/milestones{/number}","notifications_url":"https://api.github.com/repos/Mutix/Form/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Mutix/Form/labels{/name}","releases_url":"https://api.github.com/repos/Mutix/Form/releases{/id}","created_at":"2015-04-16T11:43:33Z","updated_at":"2015-04-16T11:43:34Z","pushed_at":"2015-04-16T14:53:31Z","git_url":"git://github.com/Mutix/Form.git","ssh_url":"git@github.com:Mutix/Form.git","clone_url":"https://github.com/Mutix/Form.git","svn_url":"https://github.com/Mutix/Form","homepage":"http://hyper.no","size":14343,"stargazers_count":0,"watchers_count":0,"language":"Objective-C","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"hyperoslo:master","ref":"master","sha":"dab807c46c3a62b606c2c68ae9621c28c2b85562","user":{"login":"hyperoslo","id":1340892,"avatar_url":"https://avatars.githubusercontent.com/u/1340892?v=3","gravatar_id":"","url":"https://api.github.com/users/hyperoslo","html_url":"https://github.com/hyperoslo","followers_url":"https://api.github.com/users/hyperoslo/followers","following_url":"https://api.github.com/users/hyperoslo/following{/other_user}","gists_url":"https://api.github.com/users/hyperoslo/gists{/gist_id}","starred_url":"https://api.github.com/users/hyperoslo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hyperoslo/subscriptions","organizations_url":"https://api.github.com/users/hyperoslo/orgs","repos_url":"https://api.github.com/users/hyperoslo/repos","events_url":"https://api.github.com/users/hyperoslo/events{/privacy}","received_events_url":"https://api.github.com/users/hyperoslo/received_events","type":"Organization","site_admin":false},"repo":{"id":24758457,"name":"Form","full_name":"hyperoslo/Form","owner":{"login":"hyperoslo","id":1340892,"avatar_url":"https://avatars.githubusercontent.com/u/1340892?v=3","gravatar_id":"","url":"https://api.github.com/users/hyperoslo","html_url":"https://github.com/hyperoslo","followers_url":"https://api.github.com/users/hyperoslo/followers","following_url":"https://api.github.com/users/hyperoslo/following{/other_user}","gists_url":"https://api.github.com/users/hyperoslo/gists{/gist_id}","starred_url":"https://api.github.com/users/hyperoslo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hyperoslo/subscriptions","organizations_url":"https://api.github.com/users/hyperoslo/orgs","repos_url":"https://api.github.com/users/hyperoslo/repos","events_url":"https://api.github.com/users/hyperoslo/events{/privacy}","received_events_url":"https://api.github.com/users/hyperoslo/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/hyperoslo/Form","description":"The most flexible and powerful way to build a form on iOS","fork":false,"url":"https://api.github.com/repos/hyperoslo/Form","forks_url":"https://api.github.com/repos/hyperoslo/Form/forks","keys_url":"https://api.github.com/repos/hyperoslo/Form/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hyperoslo/Form/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hyperoslo/Form/teams","hooks_url":"https://api.github.com/repos/hyperoslo/Form/hooks","issue_events_url":"https://api.github.com/repos/hyperoslo/Form/issues/events{/number}","events_url":"https://api.github.com/repos/hyperoslo/Form/events","assignees_url":"https://api.github.com/repos/hyperoslo/Form/assignees{/user}","branches_url":"https://api.github.com/repos/hyperoslo/Form/branches{/branch}","tags_url":"https://api.github.com/repos/hyperoslo/Form/tags","blobs_url":"https://api.github.com/repos/hyperoslo/Form/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hyperoslo/Form/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hyperoslo/Form/git/refs{/sha}","trees_url":"https://api.github.com/repos/hyperoslo/Form/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hyperoslo/Form/statuses/{sha}","languages_url":"https://api.github.com/repos/hyperoslo/Form/languages","stargazers_url":"https://api.github.com/repos/hyperoslo/Form/stargazers","contributors_url":"https://api.github.com/repos/hyperoslo/Form/contributors","subscribers_url":"https://api.github.com/repos/hyperoslo/Form/subscribers","subscription_url":"https://api.github.com/repos/hyperoslo/Form/subscription","commits_url":"https://api.github.com/repos/hyperoslo/Form/commits{/sha}","git_commits_url":"https://api.github.com/repos/hyperoslo/Form/git/commits{/sha}","comments_url":"https://api.github.com/repos/hyperoslo/Form/comments{/number}","issue_comment_url":"https://api.github.com/repos/hyperoslo/Form/issues/comments{/number}","contents_url":"https://api.github.com/repos/hyperoslo/Form/contents/{+path}","compare_url":"https://api.github.com/repos/hyperoslo/Form/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hyperoslo/Form/merges","archive_url":"https://api.github.com/repos/hyperoslo/Form/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hyperoslo/Form/downloads","issues_url":"https://api.github.com/repos/hyperoslo/Form/issues{/number}","pulls_url":"https://api.github.com/repos/hyperoslo/Form/pulls{/number}","milestones_url":"https://api.github.com/repos/hyperoslo/Form/milestones{/number}","notifications_url":"https://api.github.com/repos/hyperoslo/Form/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hyperoslo/Form/labels{/name}","releases_url":"https://api.github.com/repos/hyperoslo/Form/releases{/id}","created_at":"2014-10-03T12:59:46Z","updated_at":"2015-04-16T14:05:47Z","pushed_at":"2015-04-16T15:10:22Z","git_url":"git://github.com/hyperoslo/Form.git","ssh_url":"git@github.com:hyperoslo/Form.git","clone_url":"https://github.com/hyperoslo/Form.git","svn_url":"https://github.com/hyperoslo/Form","homepage":"http://hyper.no","size":14343,"stargazers_count":940,"watchers_count":940,"language":"Objective-C","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":58,"mirror_url":null,"open_issues_count":34,"forks":58,"open_issues":34,"watchers":940,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/hyperoslo/Form/pulls/333"},"html":{"href":"https://github.com/hyperoslo/Form/pull/333"},"issue":{"href":"https://api.github.com/repos/hyperoslo/Form/issues/333"},"comments":{"href":"https://api.github.com/repos/hyperoslo/Form/issues/333/comments"},"review_comments":{"href":"https://api.github.com/repos/hyperoslo/Form/pulls/333/comments"},"review_comment":{"href":"https://api.github.com/repos/hyperoslo/Form/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/hyperoslo/Form/pulls/333/commits"},"statuses":{"href":"https://api.github.com/repos/hyperoslo/Form/statuses/104cbd9dc438545d9a47d8ba6fd94c02489f783e"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"3lvis","id":1088217,"avatar_url":"https://avatars.githubusercontent.com/u/1088217?v=3","gravatar_id":"","url":"https://api.github.com/users/3lvis","html_url":"https://github.com/3lvis","followers_url":"https://api.github.com/users/3lvis/followers","following_url":"https://api.github.com/users/3lvis/following{/other_user}","gists_url":"https://api.github.com/users/3lvis/gists{/gist_id}","starred_url":"https://api.github.com/users/3lvis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/3lvis/subscriptions","organizations_url":"https://api.github.com/users/3lvis/orgs","repos_url":"https://api.github.com/users/3lvis/repos","events_url":"https://api.github.com/users/3lvis/events{/privacy}","received_events_url":"https://api.github.com/users/3lvis/received_events","type":"User","site_admin":false},"comments":8,"review_comments":11,"commits":9,"additions":296,"deletions":107,"changed_files":14}}