navbar.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import coreModule from '../../core_module';
  2. import {NavModel} from '../../nav_model_srv';
  3. export class NavbarCtrl {
  4. model: NavModel;
  5. /** @ngInject */
  6. constructor(private $rootScope) {
  7. }
  8. showSearch() {
  9. this.$rootScope.appEvent('show-dash-search');
  10. }
  11. navItemClicked(navItem, evt) {
  12. if (navItem.clickHandler) {
  13. navItem.clickHandler();
  14. evt.preventDefault();
  15. }
  16. }
  17. }
  18. export function navbarDirective() {
  19. return {
  20. restrict: 'E',
  21. templateUrl: 'public/app/core/components/navbar/navbar.html',
  22. controller: NavbarCtrl,
  23. bindToController: true,
  24. controllerAs: 'ctrl',
  25. scope: {
  26. model: "=",
  27. },
  28. link: function(scope, elem) {
  29. }
  30. };
  31. }
  32. export function pageH1() {
  33. return {
  34. restrict: 'E',
  35. template: `
  36. <h1>
  37. <i class="{{::model.node.icon}}" ng-if="::model.node.icon"></i>
  38. <img ng-src="{{::model.node.img}}" ng-if="::model.node.img"></i>
  39. {{model.node.text}}
  40. </h1>
  41. `,
  42. scope: {
  43. model: "=",
  44. }
  45. };
  46. }
  47. coreModule.directive('pageH1', pageH1);
  48. coreModule.directive('navbar', navbarDirective);