user-area.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. const app = require('../app')
  2. const { logo, menuIcon, userIcon, dashboardIcon, roleIcon } = 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-menu-item>
  29. <md-button ng-href="/roles">
  30. <md-icon md-svg-icon="${roleIcon}"></md-icon>
  31. Roles
  32. </md-button>
  33. </md-menu-item>
  34. </md-sidenav>
  35. <md-content flex>
  36. <md-toolbar>
  37. <div class="md-toolbar-tools">
  38. <md-button class="md-icon-button" aria-label="Settings" ng-hide="$mdMedia('gt-md')" ng-click="ctrl.toggleNav()">
  39. <md-icon md-svg-icon="${menuIcon}"></md-icon>
  40. </md-button>
  41. </div>
  42. </md-toolbar>
  43. <div layout-padding>
  44. <div ng-transclude></div>
  45. </div>
  46. </md-content>
  47. </div>
  48. `,
  49. controllerAs: 'ctrl',
  50. controller: function($mdSidenav, $mdMedia, $scope) {
  51. $scope.$mdMedia = $mdMedia
  52. this.showNav = false
  53. this.toggleNav = () => {
  54. $mdSidenav('left').toggle()
  55. }
  56. }
  57. })