{"version":3,"file":"SoloPanelPage.d39167bcd0a29a7f4bd6.js","mappings":"gXAkBA,MAIMA,EAAqB,CACzBC,cAAaA,EAAAA,IAGTC,GAAYC,EAAAA,EAAAA,UAROC,IAAiB,CACxCC,UAAWD,EAAMC,UAAUC,cAOcN,GAUpC,MAAMO,UAAsBC,EAAAA,UAAwB,iDAI1C,CACbC,MAAO,KACPC,UAAU,GACX,CAEDC,oBACE,MAAM,MAAEC,EAAK,MAAEC,GAAUC,KAAKC,MAE9BD,KAAKC,MAAMd,cAAc,CACvBe,QAASJ,EAAMK,OAAOC,KACtBC,OAAQP,EAAMK,OAAOG,IACrBC,QAAST,EAAMK,OAAOK,KACtBC,UAAWV,EAAMU,UACjBC,QAAQ,EACRC,cAAeX,KAAKY,QAAQC,aAEhC,CAEAC,aAAqB,MACnB,OAAOC,SAAuC,QAA/B,EAACf,KAAKC,MAAMe,YAAYC,eAAO,QAAI,IAAK,GACzD,CAEAC,mBAAmBC,GACjB,MAAM,UAAE5B,GAAcS,KAAKC,MAE3B,GAAKV,KAKA4B,EAAU5B,WAAa4B,EAAU5B,UAAUe,MAAQf,EAAUe,KAAK,CACrE,MAAMX,EAAQJ,EAAU6B,gBAAgBpB,KAAKC,MAAMe,YAAYC,SAE/D,IAAKtB,EAEH,YADAK,KAAKqB,SAAS,CAAEzB,UAAU,IAI5BI,KAAKqB,SAAS,CAAE1B,SAClB,CACF,CAEA2B,SACE,OACE,SAACC,EAAS,CACRhC,UAAWS,KAAKC,MAAMV,UACtBK,SAAUI,KAAKV,MAAMM,SACrBD,MAAOK,KAAKV,MAAMK,MAClBsB,QAASjB,KAAKc,aACdU,SAAUxB,KAAKC,MAAMe,YAAYQ,UAGvC,EACD,EAzDY/B,EAAa,cAEHgC,EAAAA,GA+DhB,MAAMF,EAAY,IAAuE,IAAtE,UAAEhC,EAAS,SAAEK,EAAQ,MAAED,EAAK,QAAEsB,EAAO,SAAEO,GAA0B,EACzF,OAAI5B,GACK,iBAAK8B,UAAU,oBAAmB,2BAAgBT,EAAO,gBAG7DtB,GAAUJ,GAKb,gBAAKmC,UAAU,aAAY,UACzB,SAAC,IAAS,UACP,IAAuB,IAAtB,MAAEC,EAAK,OAAEC,GAAQ,EACjB,OAAc,IAAVD,EACK,MAGP,SAAC,IAAc,CACbE,SAAUlC,EAAMmC,IAChBH,MAAOA,EACPC,OAAQA,EACRrC,UAAWA,EACXI,MAAOA,EACPoC,WAAW,EACXC,WAAW,EACXC,MAAM,EACNT,SAAUA,GACV,MArBH,IAAP,GAAO,8DAyBD,EAIV,EAAepC,EAAUK,E","sources":["webpack://grafana/./public/app/features/dashboard/containers/SoloPanelPage.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport { connect, ConnectedProps } from 'react-redux';\nimport AutoSizer from 'react-virtualized-auto-sizer';\n\nimport { GrafanaContext, GrafanaContextType } from 'app/core/context/GrafanaContext';\nimport { GrafanaRouteComponentProps } from 'app/core/navigation/types';\nimport { DashboardModel, PanelModel } from 'app/features/dashboard/state';\nimport { StoreState } from 'app/types';\n\nimport { DashboardPanel } from '../dashgrid/DashboardPanel';\nimport { initDashboard } from '../state/initDashboard';\n\nexport interface DashboardPageRouteParams {\n uid?: string;\n type?: string;\n slug?: string;\n}\n\nconst mapStateToProps = (state: StoreState) => ({\n dashboard: state.dashboard.getModel(),\n});\n\nconst mapDispatchToProps = {\n initDashboard,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport type Props = GrafanaRouteComponentProps &\n ConnectedProps;\n\nexport interface State {\n panel: PanelModel | null;\n notFound: boolean;\n}\n\nexport class SoloPanelPage extends Component {\n declare context: GrafanaContextType;\n static contextType = GrafanaContext;\n\n state: State = {\n panel: null,\n notFound: false,\n };\n\n componentDidMount() {\n const { match, route } = this.props;\n\n this.props.initDashboard({\n urlSlug: match.params.slug,\n urlUid: match.params.uid,\n urlType: match.params.type,\n routeName: route.routeName,\n fixUrl: false,\n keybindingSrv: this.context.keybindings,\n });\n }\n\n getPanelId(): number {\n return parseInt(this.props.queryParams.panelId ?? '0', 10);\n }\n\n componentDidUpdate(prevProps: Props) {\n const { dashboard } = this.props;\n\n if (!dashboard) {\n return;\n }\n\n // we just got a new dashboard\n if (!prevProps.dashboard || prevProps.dashboard.uid !== dashboard.uid) {\n const panel = dashboard.getPanelByUrlId(this.props.queryParams.panelId);\n\n if (!panel) {\n this.setState({ notFound: true });\n return;\n }\n\n this.setState({ panel });\n }\n }\n\n render() {\n return (\n \n );\n }\n}\n\nexport interface SoloPanelProps extends State {\n dashboard: DashboardModel | null;\n panelId: number;\n timezone?: string;\n}\n\nexport const SoloPanel = ({ dashboard, notFound, panel, panelId, timezone }: SoloPanelProps) => {\n if (notFound) {\n return
Panel with id {panelId} not found
;\n }\n\n if (!panel || !dashboard) {\n return
Loading & initializing dashboard
;\n }\n\n return (\n
\n \n {({ width, height }) => {\n if (width === 0) {\n return null;\n }\n return (\n \n );\n }}\n \n
\n );\n};\n\nexport default connector(SoloPanelPage);\n"],"names":["mapDispatchToProps","initDashboard","connector","connect","state","dashboard","getModel","SoloPanelPage","Component","panel","notFound","componentDidMount","match","route","this","props","urlSlug","params","slug","urlUid","uid","urlType","type","routeName","fixUrl","keybindingSrv","context","keybindings","getPanelId","parseInt","queryParams","panelId","componentDidUpdate","prevProps","getPanelByUrlId","setState","render","SoloPanel","timezone","GrafanaContext","className","width","height","stateKey","key","isEditing","isViewing","lazy"],"sourceRoot":""}