{"action":"created","issue":{"url":"https://api.github.com/repos/hypothesis/h/issues/2042","labels_url":"https://api.github.com/repos/hypothesis/h/issues/2042/labels{/name}","comments_url":"https://api.github.com/repos/hypothesis/h/issues/2042/comments","events_url":"https://api.github.com/repos/hypothesis/h/issues/2042/events","html_url":"https://github.com/hypothesis/h/pull/2042","id":62101589,"number":2042,"title":"Autocomplete feature for tags","user":{"login":"gergely-ujvari","id":2094134,"avatar_url":"https://avatars.githubusercontent.com/u/2094134?v=3","gravatar_id":"","url":"https://api.github.com/users/gergely-ujvari","html_url":"https://github.com/gergely-ujvari","followers_url":"https://api.github.com/users/gergely-ujvari/followers","following_url":"https://api.github.com/users/gergely-ujvari/following{/other_user}","gists_url":"https://api.github.com/users/gergely-ujvari/gists{/gist_id}","starred_url":"https://api.github.com/users/gergely-ujvari/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gergely-ujvari/subscriptions","organizations_url":"https://api.github.com/users/gergely-ujvari/orgs","repos_url":"https://api.github.com/users/gergely-ujvari/repos","events_url":"https://api.github.com/users/gergely-ujvari/events{/privacy}","received_events_url":"https://api.github.com/users/gergely-ujvari/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-03-16T14:43:41Z","updated_at":"2015-03-17T20:35:53Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/hypothesis/h/pulls/2042","html_url":"https://github.com/hypothesis/h/pull/2042","diff_url":"https://github.com/hypothesis/h/pull/2042.diff","patch_url":"https://github.com/hypothesis/h/pull/2042.patch"},"body":"This PR is the polished version of the autocomplete tags feature demoed at hackdays.\r\n\r\nThe size can be misleading because it upgrades one of our vendor lib (ngTagsInput) which nearly generates the half of the changed code lines and adds new tests.\r\n\r\nThe content of the PR:\r\n- Upgraded ngTagsInput (now 2.2)\r\n- Factored out he local-storage related stuff to the `localstorage` service from the privacy because now we have two separate components using it.\r\n- Added a helper, called `tagHelpers` to store, retrieve and sort the tags in the desired format.\r\n- Our annotation controller calls tagHelpers when saving the annotations and has a new function called `tagsAutoComplete()` which is called by the `ngTagsInput` directive to offer suggestions for Autocomplete.\r\n- Corrected the tests for privacy and added new tests for tagsHelper and the localstorage service. "},"comment":{"url":"https://api.github.com/repos/hypothesis/h/issues/comments/82586661","html_url":"https://github.com/hypothesis/h/pull/2042#issuecomment-82586661","issue_url":"https://api.github.com/repos/hypothesis/h/issues/2042","id":82586661,"user":{"login":"tilgovi","id":20818,"avatar_url":"https://avatars.githubusercontent.com/u/20818?v=3","gravatar_id":"","url":"https://api.github.com/users/tilgovi","html_url":"https://github.com/tilgovi","followers_url":"https://api.github.com/users/tilgovi/followers","following_url":"https://api.github.com/users/tilgovi/following{/other_user}","gists_url":"https://api.github.com/users/tilgovi/gists{/gist_id}","starred_url":"https://api.github.com/users/tilgovi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tilgovi/subscriptions","organizations_url":"https://api.github.com/users/tilgovi/orgs","repos_url":"https://api.github.com/users/tilgovi/repos","events_url":"https://api.github.com/users/tilgovi/events{/privacy}","received_events_url":"https://api.github.com/users/tilgovi/received_events","type":"User","site_admin":false},"created_at":"2015-03-17T20:35:53Z","updated_at":"2015-03-17T20:35:53Z","body":"Cool. LGTM."}}