{"action":"created","issue":{"url":"https://api.github.com/repos/dragonjet/KC3Kai/issues/129","labels_url":"https://api.github.com/repos/dragonjet/KC3Kai/issues/129/labels{/name}","comments_url":"https://api.github.com/repos/dragonjet/KC3Kai/issues/129/comments","events_url":"https://api.github.com/repos/dragonjet/KC3Kai/issues/129/events","html_url":"https://github.com/dragonjet/KC3Kai/issues/129","id":87165022,"number":129,"title":"[Feature request] Re-arrangement of repair docks and construction yard layout.","user":{"login":"Crazyteitoku","id":12234182,"avatar_url":"https://avatars.githubusercontent.com/u/12234182?v=3","gravatar_id":"","url":"https://api.github.com/users/Crazyteitoku","html_url":"https://github.com/Crazyteitoku","followers_url":"https://api.github.com/users/Crazyteitoku/followers","following_url":"https://api.github.com/users/Crazyteitoku/following{/other_user}","gists_url":"https://api.github.com/users/Crazyteitoku/gists{/gist_id}","starred_url":"https://api.github.com/users/Crazyteitoku/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Crazyteitoku/subscriptions","organizations_url":"https://api.github.com/users/Crazyteitoku/orgs","repos_url":"https://api.github.com/users/Crazyteitoku/repos","events_url":"https://api.github.com/users/Crazyteitoku/events{/privacy}","received_events_url":"https://api.github.com/users/Crazyteitoku/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dragonjet/KC3Kai/labels/enhancement","name":"enhancement","color":"bfe5bf"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":20,"created_at":"2015-06-11T01:13:27Z","updated_at":"2015-06-23T13:09:09Z","closed_at":null,"body":"Hi, this is a very minor feature request from me but I think re-structuring the layout for repair docks and construction yard might be seen as a little more useful compared to what it is now. To demonstrate visually, please refer to the following screenshots.\r\n\r\nThe idea is loosely based on how Kancolle organises their layout which is basically from top to bottom as opposed from going left to right and downwards. \r\n\r\nhttp://imgur.com/fMns1Zb,eQzkICH#0\r\n\r\nN.B.:\r\n* There are two images in that link, please refer to the above in that link for images of before and after images.\r\n* I had issues uploading images onto the github, not exactly sure what is going on and so the images had to be uploaded onto imgur instead."},"comment":{"url":"https://api.github.com/repos/dragonjet/KC3Kai/issues/comments/114494641","html_url":"https://github.com/dragonjet/KC3Kai/issues/129#issuecomment-114494641","issue_url":"https://api.github.com/repos/dragonjet/KC3Kai/issues/129","id":114494641,"user":{"login":"dragonjet","id":557312,"avatar_url":"https://avatars.githubusercontent.com/u/557312?v=3","gravatar_id":"","url":"https://api.github.com/users/dragonjet","html_url":"https://github.com/dragonjet","followers_url":"https://api.github.com/users/dragonjet/followers","following_url":"https://api.github.com/users/dragonjet/following{/other_user}","gists_url":"https://api.github.com/users/dragonjet/gists{/gist_id}","starred_url":"https://api.github.com/users/dragonjet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dragonjet/subscriptions","organizations_url":"https://api.github.com/users/dragonjet/orgs","repos_url":"https://api.github.com/users/dragonjet/repos","events_url":"https://api.github.com/users/dragonjet/events{/privacy}","received_events_url":"https://api.github.com/users/dragonjet/received_events","type":"User","site_admin":false},"created_at":"2015-06-23T13:09:09Z","updated_at":"2015-06-23T13:09:09Z","body":"It also crossed my mind at some point, but I'm worried about performance in using Angular. Knowing Chrome's RAM usage, reports of lag, and countdown timer slowdowns, I didn't pursue the thought.\r\n\r\nIn the end, what I did was to really separate each theme into its own directory. Each one having its own html/css/js as seen on `src\\pages\\devtools\\themes\\default\\`. It comes with its own benefits though.\r\n\r\nThere are still some library classes that each theme can utilize:\r\n* `\\src\\library\\modules\\Panel.js`\r\n* `\\src\\library\\modules\\Dashboard.js`\r\n\r\n**Panel** is the page on the devtools panel itself. It manages multiple dashboards, because ideally, the panel will automatically switch vertical-horizontal vice versa depending on the window width. So it basically manages two instances of `Dashboard`.\r\n\r\n**Dashboard** is a single container for an interface. A horizontal dashboard is a separate object than a vertical dashboard, but they're on the same page. Just different container.\r\n\r\n\r\nOne of my goals in rewriting the panel is to give each theme the flexibility in doing what it wants, without being restricted to a global set of actions. e.g. I don't want all themes to be forced into `$.clone().appendTo()` for each ship in the fleet, I don't want to restrict all themes to `$(\".craftBox\").show()` whenever you craft something. Each theme may have its own way of doing / reacting to these things. A theme may have it in a modal, the other maybe a fixed box on the side.\r\n\r\nThat's the reason `Panel.js` only help on basic actions such as switching between vertical/horizontal, etc.\r\n\r\nMeanwhile, `Dashboard.js` paves the way to these custom actions. An instance of `KC3Dashboard` can take in \"*listeners*\". It can subscribe to a certain event that the `Network` script will trigger. For example, a `FleetChanged` event. Once the specific theme's listener is triggered, it can do it's own way of dealing with fleet changing, it can either animate or whatever it wants.\r\n\r\n@tmerta Fortunately due to the new nature of how our devtools panels work - since each one has its own folder, html/css/js, it is still possible to use Angular on specific themes. The difference is the these theme would just not utilize `Panel.js` and `Dashboard.js` but can still subscribe to the `Network` Listener. This means you can still make an Angular-based theme if you want."}}