{"action":"created","issue":{"url":"https://api.github.com/repos/bootstrap-ruby/bootstrap_form/issues/439","repository_url":"https://api.github.com/repos/bootstrap-ruby/bootstrap_form","labels_url":"https://api.github.com/repos/bootstrap-ruby/bootstrap_form/issues/439/labels{/name}","comments_url":"https://api.github.com/repos/bootstrap-ruby/bootstrap_form/issues/439/comments","events_url":"https://api.github.com/repos/bootstrap-ruby/bootstrap_form/issues/439/events","html_url":"https://github.com/bootstrap-ruby/bootstrap_form/pull/439","id":299985904,"number":439,"title":"Bootstrap v4 file input","user":{"login":"mattbrictson","id":189693,"avatar_url":"https://avatars0.githubusercontent.com/u/189693?v=4","gravatar_id":"","url":"https://api.github.com/users/mattbrictson","html_url":"https://github.com/mattbrictson","followers_url":"https://api.github.com/users/mattbrictson/followers","following_url":"https://api.github.com/users/mattbrictson/following{/other_user}","gists_url":"https://api.github.com/users/mattbrictson/gists{/gist_id}","starred_url":"https://api.github.com/users/mattbrictson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattbrictson/subscriptions","organizations_url":"https://api.github.com/users/mattbrictson/orgs","repos_url":"https://api.github.com/users/mattbrictson/repos","events_url":"https://api.github.com/users/mattbrictson/events{/privacy}","received_events_url":"https://api.github.com/users/mattbrictson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/bootstrap-ruby/bootstrap_form/milestones/4","html_url":"https://github.com/bootstrap-ruby/bootstrap_form/milestone/4","labels_url":"https://api.github.com/repos/bootstrap-ruby/bootstrap_form/milestones/4/labels","id":3016349,"number":4,"title":"4.0.0","description":"","creator":{"login":"mattbrictson","id":189693,"avatar_url":"https://avatars0.githubusercontent.com/u/189693?v=4","gravatar_id":"","url":"https://api.github.com/users/mattbrictson","html_url":"https://github.com/mattbrictson","followers_url":"https://api.github.com/users/mattbrictson/followers","following_url":"https://api.github.com/users/mattbrictson/following{/other_user}","gists_url":"https://api.github.com/users/mattbrictson/gists{/gist_id}","starred_url":"https://api.github.com/users/mattbrictson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattbrictson/subscriptions","organizations_url":"https://api.github.com/users/mattbrictson/orgs","repos_url":"https://api.github.com/users/mattbrictson/repos","events_url":"https://api.github.com/users/mattbrictson/events{/privacy}","received_events_url":"https://api.github.com/users/mattbrictson/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":37,"state":"open","created_at":"2018-01-06T04:11:36Z","updated_at":"2018-02-25T00:40:01Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2018-02-25T00:40:01Z","updated_at":"2018-02-25T00:41:10Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/bootstrap-ruby/bootstrap_form/pulls/439","html_url":"https://github.com/bootstrap-ruby/bootstrap_form/pull/439","diff_url":"https://github.com/bootstrap-ruby/bootstrap_form/pull/439.diff","patch_url":"https://github.com/bootstrap-ruby/bootstrap_form/pull/439.patch"},"body":"This is a rebase and redo of #306 by @trammel.\r\n\r\nI did the minimum necessary (I think) to generate the appropriate markup [explained in the v4 docs](http://getbootstrap.com/docs/4.0/components/forms/#file-browser).\r\n\r\n```html\r\n<div class=\"form-group\">\r\n  <label for=\"user_misc\">Misc</label>\r\n  <div class=\"custom-file\">\r\n    <input class=\"custom-file-input\" id=\"user_misc\" name=\"user[misc]\" type=\"file\" />\r\n    <label class=\"custom-file-label\" for=\"user_misc\">Choose file</label>\r\n  </div>\r\n</div>\r\n```\r\n\r\nNote that in Bootstrap v4:\r\n\r\n> We hide the default file `<input>` via opacity and instead style the `<label>`.\r\n\r\nIn other words, the `label.custom-file-label` is styled to look like a text input, and the contents of that label are used for the placeholder text inside that pseudo-text input. The placeholder is \"Choose file\" by default and can be customized using the `:placeholder` option, if desired.\r\n\r\nThere might be some edge cases I missed. But, good enough for alpha?"},"comment":{"url":"https://api.github.com/repos/bootstrap-ruby/bootstrap_form/issues/comments/368272548","html_url":"https://github.com/bootstrap-ruby/bootstrap_form/pull/439#issuecomment-368272548","issue_url":"https://api.github.com/repos/bootstrap-ruby/bootstrap_form/issues/439","id":368272548,"user":{"login":"mattbrictson","id":189693,"avatar_url":"https://avatars0.githubusercontent.com/u/189693?v=4","gravatar_id":"","url":"https://api.github.com/users/mattbrictson","html_url":"https://github.com/mattbrictson","followers_url":"https://api.github.com/users/mattbrictson/followers","following_url":"https://api.github.com/users/mattbrictson/following{/other_user}","gists_url":"https://api.github.com/users/mattbrictson/gists{/gist_id}","starred_url":"https://api.github.com/users/mattbrictson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattbrictson/subscriptions","organizations_url":"https://api.github.com/users/mattbrictson/orgs","repos_url":"https://api.github.com/users/mattbrictson/repos","events_url":"https://api.github.com/users/mattbrictson/events{/privacy}","received_events_url":"https://api.github.com/users/mattbrictson/received_events","type":"User","site_admin":false},"created_at":"2018-02-25T00:41:10Z","updated_at":"2018-02-25T00:41:10Z","author_association":"COLLABORATOR","body":"Here's how it renders in the demo app:\r\n\r\n<img width=\"722\" alt=\"screen shot 2018-02-24 at 4 30 24 pm\" src=\"https://user-images.githubusercontent.com/189693/36636742-7f50d21a-1981-11e8-9b2d-9379f57fb1de.png\">\r\n"}}
{"actor":{"display_login":"mattbrictson"}}