{"action":"created","issue":{"url":"https://api.github.com/repos/charterindex/application/issues/63","repository_url":"https://api.github.com/repos/charterindex/application","labels_url":"https://api.github.com/repos/charterindex/application/issues/63/labels{/name}","comments_url":"https://api.github.com/repos/charterindex/application/issues/63/comments","events_url":"https://api.github.com/repos/charterindex/application/issues/63/events","html_url":"https://github.com/charterindex/application/issues/63","id":311189968,"number":63,"title":"Which tool for front-end javascript?","user":{"login":"SimonLab","id":6057298,"avatar_url":"https://avatars2.githubusercontent.com/u/6057298?v=4","gravatar_id":"","url":"https://api.github.com/users/SimonLab","html_url":"https://github.com/SimonLab","followers_url":"https://api.github.com/users/SimonLab/followers","following_url":"https://api.github.com/users/SimonLab/following{/other_user}","gists_url":"https://api.github.com/users/SimonLab/gists{/gist_id}","starred_url":"https://api.github.com/users/SimonLab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SimonLab/subscriptions","organizations_url":"https://api.github.com/users/SimonLab/orgs","repos_url":"https://api.github.com/users/SimonLab/repos","events_url":"https://api.github.com/users/SimonLab/events{/privacy}","received_events_url":"https://api.github.com/users/SimonLab/received_events","type":"User","site_admin":false},"labels":[{"id":869534240,"url":"https://api.github.com/repos/charterindex/application/labels/question","name":"question","color":"d876e3","default":true},{"id":869607708,"url":"https://api.github.com/repos/charterindex/application/labels/technical","name":"technical","color":"D4C5F9","default":false}],"state":"open","locked":false,"assignee":{"login":"SimonLab","id":6057298,"avatar_url":"https://avatars2.githubusercontent.com/u/6057298?v=4","gravatar_id":"","url":"https://api.github.com/users/SimonLab","html_url":"https://github.com/SimonLab","followers_url":"https://api.github.com/users/SimonLab/followers","following_url":"https://api.github.com/users/SimonLab/following{/other_user}","gists_url":"https://api.github.com/users/SimonLab/gists{/gist_id}","starred_url":"https://api.github.com/users/SimonLab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SimonLab/subscriptions","organizations_url":"https://api.github.com/users/SimonLab/orgs","repos_url":"https://api.github.com/users/SimonLab/repos","events_url":"https://api.github.com/users/SimonLab/events{/privacy}","received_events_url":"https://api.github.com/users/SimonLab/received_events","type":"User","site_admin":false},"assignees":[{"login":"SimonLab","id":6057298,"avatar_url":"https://avatars2.githubusercontent.com/u/6057298?v=4","gravatar_id":"","url":"https://api.github.com/users/SimonLab","html_url":"https://github.com/SimonLab","followers_url":"https://api.github.com/users/SimonLab/followers","following_url":"https://api.github.com/users/SimonLab/following{/other_user}","gists_url":"https://api.github.com/users/SimonLab/gists{/gist_id}","starred_url":"https://api.github.com/users/SimonLab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SimonLab/subscriptions","organizations_url":"https://api.github.com/users/SimonLab/orgs","repos_url":"https://api.github.com/users/SimonLab/repos","events_url":"https://api.github.com/users/SimonLab/events{/privacy}","received_events_url":"https://api.github.com/users/SimonLab/received_events","type":"User","site_admin":false}],"milestone":null,"comments":3,"created_at":"2018-04-04T11:26:54Z","updated_at":"2018-04-06T13:48:42Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"For \"enhanced\" user experience on the website I was thinking of implementing some features (ex: autocomplete) with [Elm](http://elm-lang.org/). Elm is a functional programming language which make it easier to track the states of the application and it has a good compiler which give indication on errors and how to fix them which makes debugging easier too. I think that are the two main points why we should try Elm but there are a lot more useful aspects (ref: https://github.com/dwyl/learn-elm) compare to just use vanilla javascript.\r\n\r\n@nelsonic @iteles  do you have thoughts or reservations on why we shouldn't use Elm?"},"comment":{"url":"https://api.github.com/repos/charterindex/application/issues/comments/379258721","html_url":"https://github.com/charterindex/application/issues/63#issuecomment-379258721","issue_url":"https://api.github.com/repos/charterindex/application/issues/63","id":379258721,"user":{"login":"SimonLab","id":6057298,"avatar_url":"https://avatars2.githubusercontent.com/u/6057298?v=4","gravatar_id":"","url":"https://api.github.com/users/SimonLab","html_url":"https://github.com/SimonLab","followers_url":"https://api.github.com/users/SimonLab/followers","following_url":"https://api.github.com/users/SimonLab/following{/other_user}","gists_url":"https://api.github.com/users/SimonLab/gists{/gist_id}","starred_url":"https://api.github.com/users/SimonLab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SimonLab/subscriptions","organizations_url":"https://api.github.com/users/SimonLab/orgs","repos_url":"https://api.github.com/users/SimonLab/repos","events_url":"https://api.github.com/users/SimonLab/events{/privacy}","received_events_url":"https://api.github.com/users/SimonLab/received_events","type":"User","site_admin":false},"created_at":"2018-04-06T13:48:42Z","updated_at":"2018-04-06T13:48:42Z","author_association":"CONTRIBUTOR","body":"We are working on the \"where\" dropdown: #76 and specifically on the pillbox when an area is selected:\r\n\r\n![image](https://user-images.githubusercontent.com/6057298/38424145-ffeac46c-39a7-11e8-9566-06f4aeb7b882.png)\r\n\r\nOne way to do this is by creating some vanilla functions which will listen to any \"change\" events on the dropdown and then display or hide the pillbox and the \"where\" dropdown, something like:\r\n```\r\nfunction generatePill() {\r\n  var where = document.getElementById(\"where\");\r\n\r\n  where.addEventListener(\"change\", function(e) {\r\n    var selectedOption = e.target.options[e.target.selectedIndex].text;\r\n    var selectedValue = e.target.options[e.target.selectedIndex].value;\r\n    var pill = document.getElementById(\"where-pill\");\r\n    if (selectedValue == \"\") {\r\n      pill.classList.remove(\"dib\");\r\n      pill.classList.add(\"dn\");\r\n    } else {\r\n      pill.classList.remove(\"dn\");\r\n      pill.classList.add(\"dib\");\r\n      pill.innerHTML = selectedOption;\r\n    }\r\n  });\r\n}\r\n\r\ngeneratePill();\r\n```\r\n\r\nFrom past experience I think this kind of functions are a bit difficult to maintain and keep them without bugs. We will have more feature to implement with javascript and the code base will get bigger with more place for side effects. \r\n\r\nI think Elm might be a good solution to try on the \"where\" dropdown and pillbox and will help us to manage all the states of the application and avoid side effects. @nelsonic @PeterTrotter do you have any thoughts on this and would it be a good case to try Elm on the application?"}}
{"actor":{"display_login":"SimonLab"}}