viz_tab.ts 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import coreModule from 'app/core/core_module';
  2. import { DashboardModel } from '../dashboard/dashboard_model';
  3. import { VizTypePicker } from '../dashboard/dashgrid/VizTypePicker';
  4. import { react2AngularDirective } from 'app/core/utils/react2angular';
  5. import { PanelPlugin } from 'app/types/plugins';
  6. export class VizTabCtrl {
  7. panelCtrl: any;
  8. dashboard: DashboardModel;
  9. /** @ngInject */
  10. constructor($scope) {
  11. this.panelCtrl = $scope.ctrl;
  12. this.dashboard = this.panelCtrl.dashboard;
  13. $scope.ctrl = this;
  14. }
  15. onTypeChanged = (plugin: PanelPlugin) => {};
  16. }
  17. const template = `
  18. <div class="gf-form-group ">
  19. <div class="gf-form-query">
  20. <div class="gf-form">
  21. <label class="gf-form-label">
  22. <img src="public/app/plugins/panel/graph/img/icn-graph-panel.svg" style="width: 16px; height: 16px" />
  23. Graph
  24. <i class="fa fa-caret-down" />
  25. </label>
  26. </div>
  27. <div class="gf-form gf-form--grow">
  28. <label class="gf-form-label gf-form-label--grow"></label>
  29. </div>
  30. </div>
  31. <br />
  32. <br />
  33. <div class="query-editor-rows gf-form-group">
  34. <div ng-repeat="tab in ctrl.panelCtrl.optionTabs">
  35. <div class="gf-form-query">
  36. <div class="gf-form gf-form-query-letter-cell">
  37. <label class="gf-form-label">
  38. <span class="gf-form-query-letter-cell-carret">
  39. <i class="fa fa-caret-down"></i>
  40. </span>
  41. <span class="gf-form-query-letter-cell-letter">{{tab.title}}</span>
  42. </label>
  43. </div>
  44. <div class="gf-form gf-form--grow">
  45. <label class="gf-form-label gf-form-label--grow"></label>
  46. </div>
  47. </div>
  48. </div>
  49. </div>
  50. </div>`;
  51. /** @ngInject */
  52. export function vizTabDirective() {
  53. 'use strict';
  54. return {
  55. restrict: 'E',
  56. template: template,
  57. controller: VizTabCtrl,
  58. };
  59. }
  60. react2AngularDirective('vizTypePicker', VizTypePicker, ['currentType', ['onTypeChanged', { watchDepth: 'reference' }]]);
  61. coreModule.directive('vizTab', vizTabDirective);