grafana/public/app/angular/components/jsontree.ts
Josh Hunt 3c6e0e8ef8
Chore: ESlint import order (#44959)
* Add and configure eslint-plugin-import

* Fix the lint:ts npm command

* Autofix + prettier all the files

* Manually fix remaining files

* Move jquery code in jest-setup to external file to safely reorder imports

* Resolve issue caused by circular dependencies within Prometheus

* Update .betterer.results

* Fix missing // @ts-ignore

* ignore iconBundle.ts

* Fix missing // @ts-ignore
2022-04-22 14:33:13 +01:00

30 lines
819 B
TypeScript

import { JsonExplorer } from '@grafana/ui';
import coreModule from 'app/angular/core_module';
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);
},
};
},
]);