grafana/public/app/core/components/jsontree/jsontree.ts
srid12 b950eebf99 JsonTree: fix jsonTree angular binding (#17608)
The API changed so it expects a numeric level rather than a boolean flag.  Since 6.1 plugins using jsonTree just show an empty div
2019-06-17 15:10:56 -07:00

30 lines
835 B
TypeScript

import coreModule from 'app/core/core_module';
import { JsonExplorer } from '../json_explorer/json_explorer';
coreModule.directive('jsonTree', [
function jsonTreeDirective() {
return {
restrict: 'E',
scope: {
object: '=',
startExpanded: '@',
rootName: '@',
},
link: (scope: any, elem) => {
let expansionLevel = scope.startExpanded;
if (scope.startExpanded === 'true') {
expansionLevel = 2;
} else if (scope.startExpanded === 'false') {
expansionLevel = 1;
}
const jsonObject = { [scope.rootName]: scope.object };
const jsonExp = new JsonExplorer(jsonObject, expansionLevel, {
animateOpen: true,
});
const html = jsonExp.render(true);
elem.append(html);
},
};
},
]);