import React from 'react' ; import ReactDOM from 'react-dom' ; import { I18nProvider } from '@osd/i18n/react' ; import { InternalChromeStart } from '../chrome' ; import { InternalApplicationStart } from '../application' ; import { OverlayStart } from '../overlays' ; import { AppWrapper , AppContainer } from './app_containers' ; interface StartDeps { application : InternalApplicationStart ; chrome : InternalChromeStart ; overlays : OverlayStart ; targetDomElement : HTMLDivElement ; } internalRemarks internal export class RenderingService { start ( { application , chrome , overlays , targetDomElement } ) { const chromeUi = chrome . getHeaderComponent ( ) ; const appUi = application . getComponent ( ) ; const bannerUi = overlays . banners . getComponent ( ) ; ReactDOM . render ( < I18nProvider > < div className = "content" data - test - subj = "opensearchDashboardsChrome" > { chromeUi } < AppWrapper chromeVisible$ = { chrome . getIsVisible$ ( ) } > < div className = "app-wrapper-panel" > < div id = "globalBannerList" > { bannerUi } < /div> < AppContainer classes$ = { chrome . getApplicationClasses$ ( ) } > { appUi } < /AppContainer> < /div> < /AppWrapper> < /div> < /I18nProvider>, targetDomElement); } }