{"action":"created","issue":{"url":"https://api.github.com/repos/Kitware/minerva/issues/226","labels_url":"https://api.github.com/repos/Kitware/minerva/issues/226/labels{/name}","comments_url":"https://api.github.com/repos/Kitware/minerva/issues/226/comments","events_url":"https://api.github.com/repos/Kitware/minerva/issues/226/events","html_url":"https://github.com/Kitware/minerva/pull/226","id":120009674,"number":226,"title":"Configurable Layout/UI Refactor","user":{"login":"danlamanna","id":608229,"avatar_url":"https://avatars.githubusercontent.com/u/608229?v=3","gravatar_id":"","url":"https://api.github.com/users/danlamanna","html_url":"https://github.com/danlamanna","followers_url":"https://api.github.com/users/danlamanna/followers","following_url":"https://api.github.com/users/danlamanna/following{/other_user}","gists_url":"https://api.github.com/users/danlamanna/gists{/gist_id}","starred_url":"https://api.github.com/users/danlamanna/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danlamanna/subscriptions","organizations_url":"https://api.github.com/users/danlamanna/orgs","repos_url":"https://api.github.com/users/danlamanna/repos","events_url":"https://api.github.com/users/danlamanna/events{/privacy}","received_events_url":"https://api.github.com/users/danlamanna/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-12-02T18:46:50Z","updated_at":"2015-12-07T20:49:15Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Kitware/minerva/pulls/226","html_url":"https://github.com/Kitware/minerva/pull/226","diff_url":"https://github.com/Kitware/minerva/pull/226.diff","patch_url":"https://github.com/Kitware/minerva/pull/226.patch"},"body":"This PR addresses #182, #184, #185, and #186.\r\n\r\nThe biggest addition is defining a layout for Minerva that can be configured by 3rd party plugins, shown [here](https://github.com/Kitware/minerva/blob/922b531c5c621a37e45e1fee0dcbdda28198e273/web_external/js/views/body/SessionView.js#L120).\r\n\r\nOther changes include:\r\n- Removes gridster, also the map slider :facepunch:\r\n- Allowing basemap_args to be stored in the session data, so someone can switch basemaps if they want\r\n- Created a generic Panel view\r\n- Cleans/removes a lot of jade/stylus that seemed extraneous\r\n  - Added some basic mixins to organize how panels are rendered   \r\n\r\nConcerns that need to be addressed before merge:\r\n- [ ] I'm largely unfamiliar with how this is being used in BSVE, and for Epidemico's work\r\n     Review from someone with their own projects would be greatly appreciated\r\n- [ ] I removed the baselayer settings button, since I removed the title bar off the map. What is the stopgap to get this merged?\r\n- [x] ~~I removed the add dataset button, this should be added back in the form of the + icon similar to sources~~\r\n- [x] The map styling is broken, it goes off the page for some reason, and resizing the window breaks the entire map\r\n- [ ] ~~I'm somewhat uneasy about [how panels are added to panel groups](https://github.com/Kitware/minerva/blob/922b531c5c621a37e45e1fee0dcbdda28198e273/web_external/js/views/body/PanelGroup.js#L15-L16) but wasn't entirely sure what the proper Backbone way was~~   \r\n  **Update**: apparently this isn't as hacky as I thought\r\n\r\nFuture concerns:\r\n- Storing/Loading UI state is somewhat sloppy, there may be better tools to accomodate this type of problem\r\n- Cleaning up the header panel, removing the sessions listing page\r\n- Storing the layout on the session view is sloppy, it should probably be on the model - though it seems like that will be part of a larger refactor in #225\r\n"},"comment":{"url":"https://api.github.com/repos/Kitware/minerva/issues/comments/162657416","html_url":"https://github.com/Kitware/minerva/pull/226#issuecomment-162657416","issue_url":"https://api.github.com/repos/Kitware/minerva/issues/226","id":162657416,"user":{"login":"jbeezley","id":31890,"avatar_url":"https://avatars.githubusercontent.com/u/31890?v=3","gravatar_id":"","url":"https://api.github.com/users/jbeezley","html_url":"https://github.com/jbeezley","followers_url":"https://api.github.com/users/jbeezley/followers","following_url":"https://api.github.com/users/jbeezley/following{/other_user}","gists_url":"https://api.github.com/users/jbeezley/gists{/gist_id}","starred_url":"https://api.github.com/users/jbeezley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbeezley/subscriptions","organizations_url":"https://api.github.com/users/jbeezley/orgs","repos_url":"https://api.github.com/users/jbeezley/repos","events_url":"https://api.github.com/users/jbeezley/events{/privacy}","received_events_url":"https://api.github.com/users/jbeezley/received_events","type":"User","site_admin":false},"created_at":"2015-12-07T20:49:15Z","updated_at":"2015-12-07T20:49:15Z","body":"Yeah, I've come to see it like this.  Normally, unless otherwise stated, a parent element is only as large as the content it contains..  Trying to have an element expand to take up 100% of it's parent inverts the usual pattern, so you have to go all the way up the document tree to make it work.  There are all kind of other implications in positioning you run into as well because it disrupts the whole document flow. "}}