import { defineConfigSchema, fhirBaseUrl, getAsyncLifecycle, getSyncLifecycle, messageOmrsServiceWorker, } from '@openmrs/esm-framework'; import { createDashboardLink } from '@openmrs/esm-patient-common-lib'; import { configSchema } from './config-schema'; import { dashboardMeta } from './test-results/dashboard.meta'; import { moduleName } from './constants'; import externalOverviewComponent from './test-results/overview/external-overview.extension'; import resultsViewerComponent from './test-results/results-viewer'; const options = { featureName: 'patient-tests', moduleName, }; export const importTranslation = require.context('../translations', false, /.json$/, 'lazy'); export function startupApp() { messageOmrsServiceWorker({ type: 'registerDynamicRoute', pattern: `.+${fhirBaseUrl}/Observation.+`, }); defineConfigSchema(moduleName, configSchema); } export const externalOverview = getSyncLifecycle(externalOverviewComponent, options); export const resultsViewer = getSyncLifecycle(resultsViewerComponent, options); export const printModal = getAsyncLifecycle(() => import('./test-results/print-modal/print-modal.extension'), options); export const testResultsDashboardLink = // t('Results', 'Results') getSyncLifecycle( createDashboardLink({ ...dashboardMeta, }), options, ); export const labOrderPanel = getAsyncLifecycle( () => import('./test-orders/lab-order-basket-panel/lab-order-basket-panel.extension'), options, ); export const addLabOrderWorkspace = getAsyncLifecycle( () => import('./test-orders/add-test-order/add-test-order.workspace'), options, ); export const exportedAddLabOrderWorkspace = getAsyncLifecycle( () => import('./test-orders/add-test-order/exported-add-test-order.workspace'), options, ); export const timelineResultsModal = getAsyncLifecycle(() => import('./test-results/trendline/timeline-results.modal'), { featureName: 'Timeline results', moduleName, }); export const editLabResultsModal = getAsyncLifecycle( () => import('./edit-test-results/modal/edit-lab-results.modal'), options, );