|
|
@@ -12,6 +12,26 @@ angular.module('kibana.text', [])
|
|
|
$scope.init = function() {
|
|
|
}
|
|
|
|
|
|
+}).directive('markdown', function() {
|
|
|
+ return {
|
|
|
+ restrict: 'E',
|
|
|
+ link: function(scope, element, attrs) {
|
|
|
+ scope.$on('render', function() {
|
|
|
+ render_panel();
|
|
|
+ })
|
|
|
+
|
|
|
+ function render_panel() {
|
|
|
+ var scripts = $LAB.script("panels/text/lib/showdown.js")
|
|
|
+ scripts.wait(function(){
|
|
|
+ var converter = new Showdown.converter();
|
|
|
+ var htmlText = converter.makeHtml(scope.panel.content);
|
|
|
+ element.html(htmlText);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ render_panel();
|
|
|
+ }
|
|
|
+ }
|
|
|
})
|
|
|
.filter('newlines', function(){
|
|
|
return function (input) {
|
|
|
@@ -19,10 +39,10 @@ angular.module('kibana.text', [])
|
|
|
}
|
|
|
})
|
|
|
.filter('striphtml', function () {
|
|
|
- return function(text) {
|
|
|
- return text
|
|
|
- .replace(/&/g, '&')
|
|
|
- .replace(/>/g, '>')
|
|
|
- .replace(/</g, '<');
|
|
|
- }
|
|
|
+ return function(text) {
|
|
|
+ return text
|
|
|
+ .replace(/&/g, '&')
|
|
|
+ .replace(/>/g, '>')
|
|
|
+ .replace(/</g, '<');
|
|
|
+ }
|
|
|
});
|