mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
feat(panels): upgraded text panel
This commit is contained in:
parent
11e35f7b68
commit
73af4df96d
@ -25,6 +25,12 @@ export class PanelCtrl {
|
||||
this.icon = plugin.info.icon;
|
||||
this.editorTabIndex = 0;
|
||||
this.publishAppEvent('panel-instantiated', {scope: $scope});
|
||||
|
||||
$scope.$on("refresh", () => this.refresh());
|
||||
}
|
||||
|
||||
refresh() {
|
||||
return;
|
||||
}
|
||||
|
||||
publishAppEvent(evtName, evt) {
|
||||
@ -43,6 +49,8 @@ export class PanelCtrl {
|
||||
|
||||
editPanel() {
|
||||
if (!this.editorTabs) {
|
||||
this.editorTabs = [];
|
||||
this.editorTabs.push({title: 'General', directiveFn: generalOptionsTabEditorTab});
|
||||
this.initEditorTabs();
|
||||
}
|
||||
|
||||
@ -54,8 +62,11 @@ export class PanelCtrl {
|
||||
}
|
||||
|
||||
initEditorTabs() {
|
||||
this.editorTabs = [];
|
||||
this.editorTabs.push({title: 'General', directiveFn: generalOptionsTabEditorTab});
|
||||
return;
|
||||
}
|
||||
|
||||
addEditorTab(title, directiveFn) {
|
||||
this.editorTabs.push({title: title, directiveFn: directiveFn});
|
||||
}
|
||||
|
||||
getMenu() {
|
||||
|
@ -3,10 +3,6 @@
|
||||
import _ from 'lodash';
|
||||
import {PanelDirective, PanelCtrl} from '../../../features/panel/panel';
|
||||
|
||||
function optionsEditorTab() {
|
||||
return {templateUrl: 'public/app/plugins/panel/text/editor.html'};
|
||||
}
|
||||
|
||||
// Set and populate defaults
|
||||
var panelDefaults = {
|
||||
mode : "markdown", // 'html', 'markdown', 'text'
|
||||
@ -26,8 +22,9 @@ export class TextPanelCtrl extends PanelCtrl {
|
||||
}
|
||||
|
||||
initEditorTabs() {
|
||||
super.initEditorTabs();
|
||||
this.editorTabs.push({title: 'Options', directiveFn: optionsEditorTab});
|
||||
this.addEditorTab('Options', () => {
|
||||
return { templateUrl: 'public/app/plugins/panel/text/editor.html' };
|
||||
});
|
||||
}
|
||||
|
||||
render() {
|
||||
@ -41,7 +38,7 @@ export class TextPanelCtrl extends PanelCtrl {
|
||||
// this.panelRenderingComplete();
|
||||
}
|
||||
|
||||
refreshData() {
|
||||
refresh() {
|
||||
this.render();
|
||||
}
|
||||
|
||||
@ -65,7 +62,9 @@ export class TextPanelCtrl extends PanelCtrl {
|
||||
} else {
|
||||
System.import('vendor/showdown').then(Showdown => {
|
||||
this.converter = new Showdown.converter();
|
||||
this.updateContent(this.converter.makeHtml(text));
|
||||
this.$scope.$apply(() => {
|
||||
this.updateContent(this.converter.makeHtml(text));
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -77,10 +76,6 @@ export class TextPanelCtrl extends PanelCtrl {
|
||||
console.log('Text panel error: ', e);
|
||||
this.content = this.$sce.trustAsHtml(html);
|
||||
}
|
||||
|
||||
if (!this.$scope.$$phase) {
|
||||
this.$scope.$digest();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user