user-area.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. const app = require('../app')
  2. const { logo, menuIcon, userIcon, dashboardIcon } = require('../assets')
  3. app.component('appUserArea', {
  4. transclude: true,
  5. template: html`
  6. <div layout="row" flex>
  7. <md-sidenav flex
  8. md-component-id="left"
  9. class="md-sidenav-left"
  10. md-is-locked-open="$mdMedia('gt-md')"
  11. md-whiteframe="4"
  12. layout="column">
  13. <header>
  14. <div class="logo-container">
  15. <img class="logo" src="${logo}" />
  16. </div>
  17. </header>
  18. <app-user-area-nav></app-user-area-nav>
  19. <h3>
  20. Administration
  21. </h3>
  22. <md-menu-item>
  23. <md-button ng-href="/users">
  24. <md-icon md-svg-icon="${userIcon}"></md-icon>
  25. Users
  26. </md-button>
  27. </md-menu-item>
  28. </md-sidenav>
  29. <md-content flex>
  30. <md-toolbar>
  31. <div class="md-toolbar-tools">
  32. <md-button class="md-icon-button" aria-label="Settings" ng-hide="$mdMedia('gt-md')" ng-click="ctrl.toggleNav()">
  33. <md-icon md-svg-icon="${menuIcon}"></md-icon>
  34. </md-button>
  35. </div>
  36. </md-toolbar>
  37. <div layout-padding>
  38. <div ng-transclude></div>
  39. </div>
  40. </md-content>
  41. </div>
  42. `,
  43. controllerAs: 'ctrl',
  44. controller: function($mdSidenav, $mdMedia, $scope) {
  45. $scope.$mdMedia = $mdMedia
  46. this.showNav = false
  47. this.toggleNav = () => {
  48. console.log('toggle')
  49. $mdSidenav('left').toggle()
  50. }
  51. }
  52. })