{"action":"closed","issue":{"url":"https://api.github.com/repos/CartoDB/mobile-style-editor/issues/8","repository_url":"https://api.github.com/repos/CartoDB/mobile-style-editor","labels_url":"https://api.github.com/repos/CartoDB/mobile-style-editor/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/CartoDB/mobile-style-editor/issues/8/comments","events_url":"https://api.github.com/repos/CartoDB/mobile-style-editor/issues/8/events","html_url":"https://github.com/CartoDB/mobile-style-editor/issues/8","id":227005248,"number":8,"title":"Style Editor Features","user":{"login":"Nikituh","id":8685359,"avatar_url":"https://avatars2.githubusercontent.com/u/8685359?v=4","gravatar_id":"","url":"https://api.github.com/users/Nikituh","html_url":"https://github.com/Nikituh","followers_url":"https://api.github.com/users/Nikituh/followers","following_url":"https://api.github.com/users/Nikituh/following{/other_user}","gists_url":"https://api.github.com/users/Nikituh/gists{/gist_id}","starred_url":"https://api.github.com/users/Nikituh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nikituh/subscriptions","organizations_url":"https://api.github.com/users/Nikituh/orgs","repos_url":"https://api.github.com/users/Nikituh/repos","events_url":"https://api.github.com/users/Nikituh/events{/privacy}","received_events_url":"https://api.github.com/users/Nikituh/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"Nikituh","id":8685359,"avatar_url":"https://avatars2.githubusercontent.com/u/8685359?v=4","gravatar_id":"","url":"https://api.github.com/users/Nikituh","html_url":"https://github.com/Nikituh","followers_url":"https://api.github.com/users/Nikituh/followers","following_url":"https://api.github.com/users/Nikituh/following{/other_user}","gists_url":"https://api.github.com/users/Nikituh/gists{/gist_id}","starred_url":"https://api.github.com/users/Nikituh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nikituh/subscriptions","organizations_url":"https://api.github.com/users/Nikituh/orgs","repos_url":"https://api.github.com/users/Nikituh/repos","events_url":"https://api.github.com/users/Nikituh/events{/privacy}","received_events_url":"https://api.github.com/users/Nikituh/received_events","type":"User","site_admin":false},"assignees":[{"login":"Nikituh","id":8685359,"avatar_url":"https://avatars2.githubusercontent.com/u/8685359?v=4","gravatar_id":"","url":"https://api.github.com/users/Nikituh","html_url":"https://github.com/Nikituh","followers_url":"https://api.github.com/users/Nikituh/followers","following_url":"https://api.github.com/users/Nikituh/following{/other_user}","gists_url":"https://api.github.com/users/Nikituh/gists{/gist_id}","starred_url":"https://api.github.com/users/Nikituh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nikituh/subscriptions","organizations_url":"https://api.github.com/users/Nikituh/orgs","repos_url":"https://api.github.com/users/Nikituh/repos","events_url":"https://api.github.com/users/Nikituh/events{/privacy}","received_events_url":"https://api.github.com/users/Nikituh/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2017-05-08T10:36:07Z","updated_at":"2018-05-18T08:39:32Z","closed_at":"2018-05-18T08:39:32Z","author_association":"CONTRIBUTOR","body":"### User interface & experience\r\n\r\n* General: \r\n- [x] 1. Basic flow & ui to be thought out on the go\r\n- [ ] 2. Professional UI/UX assistance when the flow is finalized\r\n\r\n* Specifics:\r\n- [x] Style viewer for smaller screens, editor option for larger screens\r\n- [x] User opens the app, the following happens:\r\n    - **If user is not authenticated**: Open Github authentication popup (required to download template/sample styles from *mobile-sample-styles* (followed by Else case)\r\n    - **Else**: \r\n        - **If user has not downloaded sample styles**: Download, store and display sample styles\r\n        - **Else**: Fetch and display locally saved styles\r\n- [x] ~~Implement native base views for a better user experience, e.g. better animatons, shadows~~ Realized this (to a certain degree) via custom renderers and other constraint hacks\r\n- [x] Optimize Github api perfomance\r\n- [x] Settings page in StyleListView displaying information about you (logged in to Github as etc.), and options to log out\r\n\r\n### Sample styles\r\n- [x] Download and store locally from mobile-style-samples (not downloaded again unless refreshed)\r\n- [x] Downloaded style refresh option\r\n\r\n### My styles\r\n- [x] \"My added styles\" stored locally\r\n- [x] Add from Github\r\n- [x] Add from Google Drive\r\n- [ ] Add from Web\r\n\r\n### Popup-based authentication\r\n- [ ] Google\r\n- [ ] iOS: Implement Xamarin.Auth to obtain relevant information\r\n- [x] Github\r\n- [x] Ask users if they wish to store the permanent Github Access Token, so they don't have to log in again (currently just stores it)\r\n- [x] Option to log out from Github\r\n- [ ] Option to log out from Google Drive\r\n\r\n### Style List\r\n- [x] Make \"Select\" button more intuitive\r\n- [x] Make Github/Drive popup usable on phone (full screen popup, close button etc)\r\n- [x] Make Settings popup usable on phone (full screen popup, close button etc)\r\n- [x] Droid: Improve load time when pressing back from MainController\r\n\r\n### Editor View\r\n- [x] **Bug**:  Updates are not saved to volatile memory -> old files displayed when tabs are changed \r\n- [x] Show Zoom level\r\n- [x] Display information about elements on LongClick via Popup\r\n- [x] Show all tabs if they fit on the toolbar, else expand button\r\n- [ ] X-ray view - autogenerated style for all objects based on list of layers\r\n- [x] Data source selection (enter carto://nutiteq.test or http://....tiles.json URL)\r\n- [x] Add project.json to editable files. \r\n- [x] Upload to Github (with commit message)\r\n- [x] Save locally (updated style appears in list)\r\n- [x] Read source from project.json\r\n- [ ] ~~Form to edit nutiparameter values~~ – currently out of scope, as it's too much work for a non-essential feature (parameters can be edited in project.json)\r\n- [x] Save/Email/Upload buttons as images\r\n- [x] Change toolbar item locations: tabs to the right, buttons to the left\r\n- [x] Warning that Editor is an experimental feature\r\n- [x] Option to edit style name\r\n\r\n### Editor Field\r\n- [x] Text color optimization\r\n- [x] Move editor up when keyboard is visible\r\n- [x] \\n characters not being correctly deleted\r\n- [x] Highlighting not correctly updated\r\n- [x] Different buttons act as backspace (?)\r\n- [x] Enter button should leave empty row\r\n- [x] Clear focus when keyboard is scrolled\r\n- [x] iOS: Real-time highlighting\r\n- [x] Droid: Real-time highlighting\r\n- [x] Improve highlighting color-codes: [Data-Driven Color Schemes](https://carto.com/carto-colors)\r\n- [x] Color coding fixes & updates (improve parsing logic [here](https://github.com/CartoDB/mobile-style-editor/blob/master/mobile_style_editor/Views/Main/Editor/EditorField.cs#L319))\r\n- [ ] ~~CartoCSS parser for live syntax error checking~~ – currently out of scope (difficult implementation with little real-life use)\r\n- [x] iOS: Line numbers\r\n\r\n### Publish\r\n- [ ] In-House\r\n- [ ] AppStore\r\n- [ ] GooglePlay\r\n\r\n### Misc.\r\n- [x] ~~Download and sort repositories **by organization** to improve load time~~ Implemented pagination logic to improve load time\r\n- [x] Remove large fonts from sample styles\r\n- [x] Option to send modified style to email\r\n- [x] Warning when pressing back\r\n- [x] Editor view Title = StyleName\r\n- [x] HockeyApp integration (!!!)\r\n- [x] Custom renderer for TextView on Android\r\n- [x] Custom ScrollView renderer to allow scroll disable & hide scrollbar\r\n- [x] Droid: update app icon & name\r\n- [x] Reset Github Popup content when popup is closed\r\n- [x] Branch choice in repository\r\n- [x] Store repository information locally to allow upload of pre-existing github styles\r\n\r\n### Notes\r\n\r\n* UWP support currently in backlog, as it introduces a wide range of new issues that will be dealth with later. Supported to a certain extent, but haven't tested in a while, new features most likely broke it."}}
{"actor":{"display_login":"Nikituh"}}