|
|
|
|
@ -14,18 +14,20 @@ export class PanelCtrl { |
|
|
|
|
name: string; |
|
|
|
|
icon: string; |
|
|
|
|
editorTabs: any; |
|
|
|
|
$scope: any; |
|
|
|
|
|
|
|
|
|
constructor(private scope) { |
|
|
|
|
constructor($scope) { |
|
|
|
|
var plugin = config.panels[this.panel.type]; |
|
|
|
|
|
|
|
|
|
this.$scope = $scope; |
|
|
|
|
this.name = plugin.name; |
|
|
|
|
this.icon = plugin.info.icon; |
|
|
|
|
this.editorTabIndex = 0; |
|
|
|
|
this.publishAppEvent('panel-instantiated', {scope: scope}); |
|
|
|
|
this.publishAppEvent('panel-instantiated', {scope: $scope}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
publishAppEvent(evtName, evt) { |
|
|
|
|
this.scope.$root.appEvent(evtName, evt); |
|
|
|
|
this.$scope.$root.appEvent(evtName, evt); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
changeView(fullscreen, edit) { |
|
|
|
|
@ -53,8 +55,11 @@ export class PanelCtrl { |
|
|
|
|
initEditorTabs() { |
|
|
|
|
this.editorTabs = []; |
|
|
|
|
this.editorTabs.push({title: 'General', directiveFn: generalOptionsTabEditorTab}); |
|
|
|
|
this.editorTabs = this.editorTabs.concat(this.getEditorTabs()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
getEditorTabs() { return [];} |
|
|
|
|
|
|
|
|
|
getMenu() { |
|
|
|
|
let menu = []; |
|
|
|
|
menu.push({text: 'View', click: 'ctrl.viewPanel(); dismiss();'}); |
|
|
|
|
@ -74,6 +79,10 @@ export class PanelDirective { |
|
|
|
|
controllerAs: string; |
|
|
|
|
|
|
|
|
|
getDirective() { |
|
|
|
|
if (!this.controller) { |
|
|
|
|
this.controller = PanelCtrl; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return { |
|
|
|
|
template: this.template, |
|
|
|
|
templateUrl: this.templateUrl, |
|
|
|
|
|