TeamScreen – general progress update #2
Last three post were about creating a general architecture for TeamScreen application – handling views, settings, and plugins itself. Today’s post will be about polishing it. First screens showing how TeamScreen looks now:
TeamCity plugin:
JIRA plugin:
Settings screen with TeamCity tab:
In my opinion is definitely an improvement from how it looked before. I changed the bootstrap theme to use something more darkly by using SuperHero theme from Bootswatch site. Other minor things regarding UI:
- Created favicon using great generator I found – https://gauger.io/fonticon/
- The controls are hidden by default, you need to hover over them to show them
- Added loading indicator – it shows when loading next plugin is in progress
- Added fullscreen button, which apparently needs a lot of logic to be done properly:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
toggleFullScreen: function () { //from http://stackoverflow.com/a/36672683/578560 var isInFullScreen = (document.fullscreenElement && document.fullscreenElement !== null) || (document.webkitFullscreenElement && document.webkitFullscreenElement !== null) || (document.mozFullScreenElement && document.mozFullScreenElement !== null) || (document.msFullscreenElement && document.msFullscreenElement !== null); var docElm = document.documentElement; if (!isInFullScreen) { if (docElm.requestFullscreen) { docElm.requestFullscreen(); } else if (docElm.mozRequestFullScreen) { docElm.mozRequestFullScreen(); } else if (docElm.webkitRequestFullScreen) { docElm.webkitRequestFullScreen(); } else if (docElm.msRequestFullscreen) { docElm.msRequestFullscreen(); } } else { if (document.exitFullscreen) { document.exitFullscreen(); } else if (document.webkitExitFullscreen) { document.webkitExitFullscreen(); } else if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if (document.msExitFullscreen) { document.msExitFullscreen(); } } }, |
On the backend I mostly finished work started in previous weeks:
- Moved JIRA logic to separate plugin assembly
- Moved all settings related code to new project TeamScreen.Data
- Actually used new settings logic in TeamCity and JIRA plugins, removing usage of configuration
- Settings, CoreSettings and Plugins all have its own controllers for separation of concerns
There is still a lot of work to be done and my standard problem is that I have more ideas than time 🙂 The base architecture, I think, is in pretty stable condition, although the TeamCity and JIRA plugins definitely will be developed more in the future. After all the work, I think, I earned the privilege to raise the version to 0.4 🙂 Plan for the nearest future is to at last add more plugins!
You can get the source code here, but I must warn you that, it is still pretty rough and works only on my computer – I’ll fix that in the future. For now, thanks for reading and I hope to see you next time 🙂
One thought on “TeamScreen – general progress update #2”