UNPKG

@grafana/ui

Version:
1 lines 2.59 kB
{"version":3,"file":"JSONFormatter.mjs","sources":["../../../../src/components/JSONFormatter/JSONFormatter.tsx"],"sourcesContent":["import { PureComponent, createRef } from 'react';\n\nimport { JsonExplorer, JsonExplorerConfig } from './json_explorer/json_explorer'; // We have made some monkey-patching of json-formatter-js so we can't switch right now\n\ninterface Props {\n className?: string;\n json: {};\n config?: JsonExplorerConfig;\n open?: number;\n onDidRender?: (formattedJson: {}) => void;\n}\n\nexport class JSONFormatter extends PureComponent<Props> {\n private wrapperRef = createRef<HTMLDivElement>();\n\n static defaultProps = {\n open: 3,\n config: {\n animateOpen: true,\n },\n };\n\n componentDidMount() {\n this.renderJson();\n }\n\n componentDidUpdate() {\n this.renderJson();\n }\n\n renderJson = () => {\n const { json, config, open, onDidRender } = this.props;\n const wrapperEl = this.wrapperRef.current;\n const formatter = new JsonExplorer(json, open, config);\n // @ts-ignore\n const hasChildren: boolean = wrapperEl.hasChildNodes();\n if (hasChildren) {\n // @ts-ignore\n wrapperEl.replaceChild(formatter.render(), wrapperEl.lastChild);\n } else {\n // @ts-ignore\n wrapperEl.appendChild(formatter.render());\n }\n\n if (onDidRender) {\n onDidRender(formatter.json);\n }\n };\n\n render() {\n const { className } = this.props;\n return <div className={className} ref={this.wrapperRef} />;\n }\n}\n"],"names":[],"mappings":";;;;AAYO,MAAM,sBAAsB,aAAqB,CAAA;AAAA,EAAjD,WAAA,GAAA;AAAA,IAAA,KAAA,CAAA,GAAA,SAAA,CAAA;AACL,IAAA,IAAA,CAAQ,aAAa,SAA0B,EAAA;AAiB/C,IAAA,IAAA,CAAA,UAAA,GAAa,MAAM;AACjB,MAAA,MAAM,EAAE,IAAM,EAAA,MAAA,EAAQ,IAAM,EAAA,WAAA,KAAgB,IAAK,CAAA,KAAA;AACjD,MAAM,MAAA,SAAA,GAAY,KAAK,UAAW,CAAA,OAAA;AAClC,MAAA,MAAM,SAAY,GAAA,IAAI,YAAa,CAAA,IAAA,EAAM,MAAM,MAAM,CAAA;AAErD,MAAM,MAAA,WAAA,GAAuB,UAAU,aAAc,EAAA;AACrD,MAAA,IAAI,WAAa,EAAA;AAEf,QAAA,SAAA,CAAU,YAAa,CAAA,SAAA,CAAU,MAAO,EAAA,EAAG,UAAU,SAAS,CAAA;AAAA,OACzD,MAAA;AAEL,QAAU,SAAA,CAAA,WAAA,CAAY,SAAU,CAAA,MAAA,EAAQ,CAAA;AAAA;AAG1C,MAAA,IAAI,WAAa,EAAA;AACf,QAAA,WAAA,CAAY,UAAU,IAAI,CAAA;AAAA;AAC5B,KACF;AAAA;AAAA,EAzBA,iBAAoB,GAAA;AAClB,IAAA,IAAA,CAAK,UAAW,EAAA;AAAA;AAClB,EAEA,kBAAqB,GAAA;AACnB,IAAA,IAAA,CAAK,UAAW,EAAA;AAAA;AAClB,EAqBA,MAAS,GAAA;AACP,IAAM,MAAA,EAAE,SAAU,EAAA,GAAI,IAAK,CAAA,KAAA;AAC3B,IAAA,uBAAQ,GAAA,CAAA,KAAA,EAAA,EAAI,SAAsB,EAAA,GAAA,EAAK,KAAK,UAAY,EAAA,CAAA;AAAA;AAE5D;AAzCa,aAAA,CAGJ,YAAe,GAAA;AAAA,EACpB,IAAM,EAAA,CAAA;AAAA,EACN,MAAQ,EAAA;AAAA,IACN,WAAa,EAAA;AAAA;AAEjB,CAAA;;;;"}