{"action":"created","issue":{"url":"https://api.github.com/repos/HubTurbo/HubTurbo/issues/1232","labels_url":"https://api.github.com/repos/HubTurbo/HubTurbo/issues/1232/labels{/name}","comments_url":"https://api.github.com/repos/HubTurbo/HubTurbo/issues/1232/comments","events_url":"https://api.github.com/repos/HubTurbo/HubTurbo/issues/1232/events","html_url":"https://github.com/HubTurbo/HubTurbo/pull/1232","id":130567687,"number":1232,"title":"Refactor LabelPicker #1215","user":{"login":"jinified","id":3635970,"avatar_url":"https://avatars.githubusercontent.com/u/3635970?v=3","gravatar_id":"","url":"https://api.github.com/users/jinified","html_url":"https://github.com/jinified","followers_url":"https://api.github.com/users/jinified/followers","following_url":"https://api.github.com/users/jinified/following{/other_user}","gists_url":"https://api.github.com/users/jinified/gists{/gist_id}","starred_url":"https://api.github.com/users/jinified/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jinified/subscriptions","organizations_url":"https://api.github.com/users/jinified/orgs","repos_url":"https://api.github.com/users/jinified/repos","events_url":"https://api.github.com/users/jinified/events{/privacy}","received_events_url":"https://api.github.com/users/jinified/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/HubTurbo/HubTurbo/labels/status.ongoing","name":"status.ongoing","color":"99CC99"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2016-02-02T04:07:23Z","updated_at":"2016-02-02T13:43:03Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/HubTurbo/HubTurbo/pulls/1232","html_url":"https://github.com/HubTurbo/HubTurbo/pull/1232","diff_url":"https://github.com/HubTurbo/HubTurbo/pull/1232.diff","patch_url":"https://github.com/HubTurbo/HubTurbo/pull/1232.patch"},"body":"Fixes #1215 \r\n\r\n## Changes \r\n1. Separated view into a [LabelPickerVIew.fxml](https://github.com/nus-fboa2016-ht/HubTurbo/blob/1215-refactor-labelpicker/src/main/resources/ui/fxml/LabelPickerView.fxml#L1-L29)\r\n2. Rendering of UI elements is performed solely by LabelPickerDialog. \r\n3. LabelPickerUILogic provides UI with information needed whenever a change occurs in the. `queryField`. The whole state of the LabelPicker can be determined by content of the `queryField`\r\n4. No longer supports the `up` and `down` shortcut keys to move highlighted label.\r\n\r\n## Currently supported features\r\n1. Changes in `queryField` will trigger update of LabelPickerDialog. \r\n2. On mouse click, the `queryField` will be cleared and disabled. All matched labels will also be clear.\r\n3. Supports pasting of text and trigger changes for every single token i.e `hi ref for` will toggle labels such as \"high\", \"refactoring\" and highlight \"forFirstTimer\".\r\n\r\n## Bugs/Flaws that needed to be fixed\r\n1. Order of addedLabels will change after each `UI` update because a Set is used to stored the labels\r\n2. Failure to match label with more than two words i.e `help wanted`\r\n3. UI behaves erratically on Ubuntu like previous iteration of LabelPicker\r\n4. Multiple copy-paste operation of large amount of text slows down `LabelPicker` to a halt.\r\n\r\n## Planned improvements \r\n1. Use `PickerLabel` to replace String for faster rendition of labels \r\n2. Refactor `LabelPickerDialog` \r\n3. Merge `LabelPickerState` and `LabelPickerUILogic`\r\n"},"comment":{"url":"https://api.github.com/repos/HubTurbo/HubTurbo/issues/comments/178578250","html_url":"https://github.com/HubTurbo/HubTurbo/pull/1232#issuecomment-178578250","issue_url":"https://api.github.com/repos/HubTurbo/HubTurbo/issues/1232","id":178578250,"user":{"login":"jinified","id":3635970,"avatar_url":"https://avatars.githubusercontent.com/u/3635970?v=3","gravatar_id":"","url":"https://api.github.com/users/jinified","html_url":"https://github.com/jinified","followers_url":"https://api.github.com/users/jinified/followers","following_url":"https://api.github.com/users/jinified/following{/other_user}","gists_url":"https://api.github.com/users/jinified/gists{/gist_id}","starred_url":"https://api.github.com/users/jinified/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jinified/subscriptions","organizations_url":"https://api.github.com/users/jinified/orgs","repos_url":"https://api.github.com/users/jinified/repos","events_url":"https://api.github.com/users/jinified/events{/privacy}","received_events_url":"https://api.github.com/users/jinified/received_events","type":"User","site_admin":false},"created_at":"2016-02-02T13:43:03Z","updated_at":"2016-02-02T13:43:03Z","body":"You can comment about the UI as most of the structure is almost set. Just that some of the methods will be obsolete such as `getName`, `getGroup` .. when I am using `PickerLabel`. "}}