@openmrs/esm-report-builder 0.1.1-pre.101
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +5 -0
- package/.eslintrc.js +19 -0
- package/.prettierrc +8 -0
- package/.tx/config +12 -0
- package/LICENSE +401 -0
- package/README.md +336 -0
- package/__mocks__/react-i18next.js +12 -0
- package/dist/128.css +1 -0
- package/dist/128.css.map +1 -0
- package/dist/128.js +338 -0
- package/dist/128.js.map +1 -0
- package/dist/1480.js +1 -0
- package/dist/1480.js.map +1 -0
- package/dist/1646.js +1 -0
- package/dist/1646.js.map +1 -0
- package/dist/1869.js +1 -0
- package/dist/1869.js.map +1 -0
- package/dist/1877.js +1 -0
- package/dist/1877.js.map +1 -0
- package/dist/2131.js +1 -0
- package/dist/2131.js.map +1 -0
- package/dist/2317.js +1 -0
- package/dist/2317.js.map +1 -0
- package/dist/2408.js +1 -0
- package/dist/2408.js.map +1 -0
- package/dist/2416.js +1 -0
- package/dist/2416.js.map +1 -0
- package/dist/282.js +1 -0
- package/dist/282.js.map +1 -0
- package/dist/2881.js +1 -0
- package/dist/2881.js.map +1 -0
- package/dist/2997.js +1 -0
- package/dist/2997.js.map +1 -0
- package/dist/3378.js +1 -0
- package/dist/3378.js.map +1 -0
- package/dist/3963.js +1 -0
- package/dist/3963.js.map +1 -0
- package/dist/4106.js +1 -0
- package/dist/4106.js.map +1 -0
- package/dist/4111.js +1 -0
- package/dist/4111.js.map +1 -0
- package/dist/4171.css +1 -0
- package/dist/4171.css.map +1 -0
- package/dist/4171.js +43 -0
- package/dist/4171.js.map +1 -0
- package/dist/434.js +1 -0
- package/dist/434.js.map +1 -0
- package/dist/4348.js +1 -0
- package/dist/4348.js.map +1 -0
- package/dist/4383.js +1 -0
- package/dist/4383.js.map +1 -0
- package/dist/4658.js +1 -0
- package/dist/4658.js.map +1 -0
- package/dist/4668.js +1 -0
- package/dist/4668.js.map +1 -0
- package/dist/4928.js +1 -0
- package/dist/4928.js.map +1 -0
- package/dist/5098.js +1 -0
- package/dist/5098.js.map +1 -0
- package/dist/5117.js +1 -0
- package/dist/5117.js.map +1 -0
- package/dist/5132.js +1 -0
- package/dist/5132.js.map +1 -0
- package/dist/5145.js +1 -0
- package/dist/5145.js.map +1 -0
- package/dist/550.js +1 -0
- package/dist/550.js.map +1 -0
- package/dist/5503.js +1 -0
- package/dist/5503.js.map +1 -0
- package/dist/556.js +1 -0
- package/dist/556.js.map +1 -0
- package/dist/5644.js +1 -0
- package/dist/5644.js.map +1 -0
- package/dist/5940.js +1 -0
- package/dist/5940.js.map +1 -0
- package/dist/6047.js +1 -0
- package/dist/6047.js.map +1 -0
- package/dist/6237.js +1 -0
- package/dist/6237.js.map +1 -0
- package/dist/6371.js +1 -0
- package/dist/6371.js.map +1 -0
- package/dist/6377.js +1 -0
- package/dist/6377.js.map +1 -0
- package/dist/6444.js +1 -0
- package/dist/6444.js.map +1 -0
- package/dist/6508.js +1 -0
- package/dist/6508.js.map +1 -0
- package/dist/6652.js +1 -0
- package/dist/6652.js.map +1 -0
- package/dist/6686.js +1 -0
- package/dist/6686.js.map +1 -0
- package/dist/6724.js +1 -0
- package/dist/6724.js.map +1 -0
- package/dist/6867.js +19 -0
- package/dist/6867.js.map +1 -0
- package/dist/6904.js +1 -0
- package/dist/6904.js.map +1 -0
- package/dist/7045.js +1 -0
- package/dist/7045.js.map +1 -0
- package/dist/7175.js +1 -0
- package/dist/7175.js.map +1 -0
- package/dist/7182.js +1 -0
- package/dist/7182.js.map +1 -0
- package/dist/7475.js +1 -0
- package/dist/7475.js.map +1 -0
- package/dist/7742.js +1 -0
- package/dist/7742.js.map +1 -0
- package/dist/7912.js +1 -0
- package/dist/7912.js.map +1 -0
- package/dist/8251.js +1 -0
- package/dist/8251.js.map +1 -0
- package/dist/8358.js +1 -0
- package/dist/8358.js.map +1 -0
- package/dist/8359.js +1 -0
- package/dist/8359.js.map +1 -0
- package/dist/8695.js +1 -0
- package/dist/8695.js.map +1 -0
- package/dist/903.js +1 -0
- package/dist/903.js.map +1 -0
- package/dist/9072.js +1 -0
- package/dist/9072.js.map +1 -0
- package/dist/9806.js +1 -0
- package/dist/9806.js.map +1 -0
- package/dist/997.js +1 -0
- package/dist/997.js.map +1 -0
- package/dist/openmrs-esm-report-builder.js +3 -0
- package/dist/openmrs-esm-report-builder.js.buildmanifest.json +1433 -0
- package/dist/openmrs-esm-report-builder.js.map +1 -0
- package/dist/routes.json +1 -0
- package/e2e/core/env.ts +5 -0
- package/e2e/core/global-setup.ts +34 -0
- package/e2e/core/test.ts +21 -0
- package/e2e/pages/app-shell.page.ts +35 -0
- package/e2e/pages/etl-sources.page.ts +36 -0
- package/e2e/pages/report-sections.page.ts +21 -0
- package/e2e/pages/section-preview.modal.ts +29 -0
- package/e2e/specs/etl-sources.spec.ts +51 -0
- package/e2e/specs/navigation.spec.ts +13 -0
- package/e2e/specs/section-preview-validation.spec.ts +38 -0
- package/e2e/specs/section-preview.spec.ts +94 -0
- package/e2e/support/github/Dockerfile +32 -0
- package/e2e/support/github/Dockerfile.dockerignore +13 -0
- package/e2e/support/github/docker-compose.yml +31 -0
- package/e2e/support/github/run-e2e-docker-env.sh +131 -0
- package/e2e/support/github/spa-assemble-config.json +6 -0
- package/e2e/tsconfig.json +11 -0
- package/example.env +5 -0
- package/linelist_report_builder_design_spec.md +816 -0
- package/package.json +98 -0
- package/playwright.config.ts +28 -0
- package/rspack.config.js +2 -0
- package/src/__debug__/all-designs.test.tsx +33 -0
- package/src/admin-card-link.extension.module.scss +55 -0
- package/src/admin-card-link.extension.tsx +24 -0
- package/src/components/admin/admin-page.component.tsx +75 -0
- package/src/components/admin/age-categories-page.component.tsx +109 -0
- package/src/components/admin/age-groups-page.component.tsx +146 -0
- package/src/components/admin/etl-browser/columns-tab.component.tsx +80 -0
- package/src/components/admin/etl-browser/etl-browser-page.component.tsx +309 -0
- package/src/components/admin/etl-browser/etl-browser.component.scss +424 -0
- package/src/components/admin/etl-browser/metadata-tab.component.tsx +65 -0
- package/src/components/admin/etl-browser/preview-grid.component.tsx +189 -0
- package/src/components/admin/etl-browser/relationships-tab.component.tsx +21 -0
- package/src/components/admin/etl-browser/sources-tree.component.tsx +118 -0
- package/src/components/admin/etl-browser/table-detail.component.tsx +124 -0
- package/src/components/admin/etl-browser/table-info-strip.component.tsx +51 -0
- package/src/components/admin/etl-browser/table-list.component.tsx +136 -0
- package/src/components/admin/etl-browser/use-table-preview.ts +47 -0
- package/src/components/admin/etl-sources-page.component.tsx +355 -0
- package/src/components/admin/etl-tasks-page.component.scss +370 -0
- package/src/components/admin/etl-tasks-page.component.tsx +768 -0
- package/src/components/admin/report-categories-page.component.tsx +267 -0
- package/src/components/admin/report-library-page.component.tsx +551 -0
- package/src/components/ai-support/ai-assist-button.component.tsx +30 -0
- package/src/components/ai-support/ai-assist-modal.component.tsx +81 -0
- package/src/components/ai-support/ai.service.ts +21 -0
- package/src/components/ai-support/ai.types.ts +12 -0
- package/src/components/app-shell/report-builder-shell.component.tsx +242 -0
- package/src/components/app-shell/report-builder-shell.scss +18 -0
- package/src/components/dashboards/dashboard-config.schema.ts +97 -0
- package/src/components/dashboards/dashboard-form-modal.component.tsx +150 -0
- package/src/components/dashboards/dashboards-admin.scss +62 -0
- package/src/components/dashboards/dashboards-page.component.tsx +153 -0
- package/src/components/dashboards/dashboards-table.component.tsx +130 -0
- package/src/components/dashboards/sections/dashboard-autoinclude.section.tsx +75 -0
- package/src/components/dashboards/sections/dashboard-basics.section.tsx +80 -0
- package/src/components/dashboards/sections/dashboard-json.section.tsx +79 -0
- package/src/components/dashboards/sections/dashboard-sections-editor.section.tsx +130 -0
- package/src/components/dashboards/sections/dashboard-widgets-editor.section.tsx +184 -0
- package/src/components/data-themes/data-theme-form.component.tsx +59 -0
- package/src/components/data-themes/data-theme-modal.component.tsx +349 -0
- package/src/components/data-themes/data-themes-page.component.tsx +139 -0
- package/src/components/data-themes/data-themes-table.component.tsx +98 -0
- package/src/components/data-themes/icon-registry.ts +35 -0
- package/src/components/data-themes/sections/data-theme-basics.section.tsx +63 -0
- package/src/components/data-themes/sections/data-theme-condition-columns.section.tsx +397 -0
- package/src/components/data-themes/sections/data-theme-fields-editor.section.tsx +125 -0
- package/src/components/data-themes/sections/data-theme-metadata.section.tsx +245 -0
- package/src/components/data-themes/sections/data-theme-preview.section.tsx +115 -0
- package/src/components/data-themes/sections/data-theme-source.section.tsx +184 -0
- package/src/components/data-visualizer/components/cqi-components/cqi-data-table.component.tsx +214 -0
- package/src/components/data-visualizer/components/cqi-components/cqi-elements.ts +203 -0
- package/src/components/data-visualizer/components/cqi-components/detail.component.tsx +110 -0
- package/src/components/data-visualizer/components/cqi-components/detail.scss +22 -0
- package/src/components/data-visualizer/components/data-table/data-table.component.tsx +208 -0
- package/src/components/data-visualizer/components/data-table/data-tables.scss +206 -0
- package/src/components/data-visualizer/components/empty-state/empty-state-illustration.component.tsx +53 -0
- package/src/components/data-visualizer/components/header/header.component.tsx +43 -0
- package/src/components/data-visualizer/components/header/header.scss +71 -0
- package/src/components/data-visualizer/components/model/confirm.component.tsx +40 -0
- package/src/components/data-visualizer/components/panel/panel.component.tsx +20 -0
- package/src/components/data-visualizer/components/panel/panel.scss +25 -0
- package/src/components/data-visualizer/components/popover/modifier-panel.tsx +53 -0
- package/src/components/data-visualizer/constants.ts +445 -0
- package/src/components/data-visualizer/data-visualizer-illustration.component.tsx +31 -0
- package/src/components/data-visualizer/data-visualizer.component.tsx +1935 -0
- package/src/components/data-visualizer/data-visualizer.resource.ts +462 -0
- package/src/components/data-visualizer/data-visualizer.scss +448 -0
- package/src/components/data-visualizer/declarations.d.ts +131 -0
- package/src/components/data-visualizer/parameter-inputs/boolean-parameter-input.component.tsx +34 -0
- package/src/components/data-visualizer/parameter-inputs/concept-parameter-input.component.tsx +81 -0
- package/src/components/data-visualizer/parameter-inputs/date-parameter-input.component.tsx +110 -0
- package/src/components/data-visualizer/parameter-inputs/date-range-input.component.scss +47 -0
- package/src/components/data-visualizer/parameter-inputs/date-range-input.component.tsx +228 -0
- package/src/components/data-visualizer/parameter-inputs/identifier-type-parameter-input.component.tsx +69 -0
- package/src/components/data-visualizer/parameter-inputs/list-parameter-input.component.tsx +73 -0
- package/src/components/data-visualizer/parameter-inputs/location-parameter-input.component.tsx +81 -0
- package/src/components/data-visualizer/parameter-inputs/number-parameter-input.component.tsx +40 -0
- package/src/components/data-visualizer/parameter-inputs/person-attribute-parameter-input.component.tsx +71 -0
- package/src/components/data-visualizer/parameter-inputs/text-parameter-input.component.tsx +52 -0
- package/src/components/data-visualizer/report-parameter-modal.component.tsx +383 -0
- package/src/components/data-visualizer/types.ts +206 -0
- package/src/components/etl-monitor/builder/builder-state-machine.ts +381 -0
- package/src/components/etl-monitor/builder/design-registry.tsx +139 -0
- package/src/components/etl-monitor/builder/etl-monitor-builder-context.tsx +702 -0
- package/src/components/etl-monitor/builder/etl-monitor-builder-modal.component.tsx +461 -0
- package/src/components/etl-monitor/builder/etl-monitor-builder-modal.scss +256 -0
- package/src/components/etl-monitor/builder/etl-monitor-builder-page.component.tsx +387 -0
- package/src/components/etl-monitor/builder/etl-monitor-builder-page.scss +976 -0
- package/src/components/etl-monitor/builder/generated-config-panel.component.tsx +168 -0
- package/src/components/etl-monitor/builder/generated-config-panel.scss +198 -0
- package/src/components/etl-monitor/builder/index.ts +5 -0
- package/src/components/etl-monitor/builder/monitor-preview.tsx +124 -0
- package/src/components/etl-monitor/builder/steps/data-source-step.component.tsx +667 -0
- package/src/components/etl-monitor/builder/steps/data-source-step.scss +284 -0
- package/src/components/etl-monitor/builder/steps/design-samples.ts +278 -0
- package/src/components/etl-monitor/builder/steps/design-step.component.tsx +299 -0
- package/src/components/etl-monitor/builder/steps/design-step.scss +479 -0
- package/src/components/etl-monitor/builder/steps/fields-step.component.tsx +859 -0
- package/src/components/etl-monitor/builder/steps/fields-step.scss +459 -0
- package/src/components/etl-monitor/builder/steps/general-step.component.tsx +288 -0
- package/src/components/etl-monitor/builder/steps/general-step.scss +103 -0
- package/src/components/etl-monitor/builder/steps/index.ts +5 -0
- package/src/components/etl-monitor/builder/steps/preview-step.component.tsx +245 -0
- package/src/components/etl-monitor/builder/steps/preview-step.scss +236 -0
- package/src/components/etl-monitor/etl-monitor-card-shell.component.tsx +154 -0
- package/src/components/etl-monitor/etl-monitor-card-shell.scss +103 -0
- package/src/components/etl-monitor/etl-monitor-dashboard.component.tsx +227 -0
- package/src/components/etl-monitor/etl-monitor-dashboard.scss +148 -0
- package/src/components/etl-monitor/etl-monitor-status-card.component.tsx +192 -0
- package/src/components/etl-monitor/etl-monitors-page.component.tsx +621 -0
- package/src/components/etl-monitor/renderers/DetailsRenderer.tsx +2 -0
- package/src/components/etl-monitor/renderers/ErrorLogRenderer.tsx +2 -0
- package/src/components/etl-monitor/renderers/EtlMonitorWidget.tsx +97 -0
- package/src/components/etl-monitor/renderers/MetricsGridRenderer.tsx +2 -0
- package/src/components/etl-monitor/renderers/MonitorRenderer.tsx +175 -0
- package/src/components/etl-monitor/renderers/ProgressRenderer.tsx +2 -0
- package/src/components/etl-monitor/renderers/StatusCardRenderer.tsx +2 -0
- package/src/components/etl-monitor/renderers/SummaryCardRenderer.tsx +2 -0
- package/src/components/etl-monitor/renderers/TableRenderer.tsx +2 -0
- package/src/components/etl-monitor/renderers/component-icons.tsx +33 -0
- package/src/components/etl-monitor/renderers/components/details-renderer.tsx +195 -0
- package/src/components/etl-monitor/renderers/components/error-log-renderer.tsx +104 -0
- package/src/components/etl-monitor/renderers/components/index.ts +6 -0
- package/src/components/etl-monitor/renderers/components/log-renderer.tsx +86 -0
- package/src/components/etl-monitor/renderers/components/metrics-grid-renderer.tsx +133 -0
- package/src/components/etl-monitor/renderers/components/progress-renderer.tsx +188 -0
- package/src/components/etl-monitor/renderers/components/status-card-renderer.tsx +247 -0
- package/src/components/etl-monitor/renderers/components/summary-card-renderer.tsx +160 -0
- package/src/components/etl-monitor/renderers/components/table-renderer.tsx +175 -0
- package/src/components/etl-monitor/renderers/components/time-series-renderer.tsx +310 -0
- package/src/components/etl-monitor/renderers/data-transformer.ts +361 -0
- package/src/components/etl-monitor/renderers/index.ts +11 -0
- package/src/components/etl-monitor/renderers/legacy-monitor-renderer.tsx +69 -0
- package/src/components/etl-monitor/renderers/monitor-renderer.tsx +6 -0
- package/src/components/etl-monitor/renderers/monitor-renderers.scss +1621 -0
- package/src/components/etl-monitor/renderers/monitor-widget-card.component.tsx +54 -0
- package/src/components/etl-monitor/renderers/monitor-widget-card.scss +16 -0
- package/src/components/etl-monitor/renderers/v2-monitor-renderer.tsx +227 -0
- package/src/components/import-export/artifact-groups.ts +153 -0
- package/src/components/import-export/export-report-modal.component.tsx +265 -0
- package/src/components/import-export/import-export-page.component.tsx +610 -0
- package/src/components/import-export/import-export.styles.scss +825 -0
- package/src/components/import-export/import-package-modal.component.tsx +401 -0
- package/src/components/import-export/index.ts +3 -0
- package/src/components/indicators/README.md +24 -0
- package/src/components/indicators/base-indicator-basic-fields.component.tsx +18 -0
- package/src/components/indicators/base-indicator-basics.section.tsx +54 -0
- package/src/components/indicators/base-indicator-countby.section.tsx +25 -0
- package/src/components/indicators/base-indicator-criteria.section.tsx +83 -0
- package/src/components/indicators/base-indicator-details-form.component.tsx +80 -0
- package/src/components/indicators/base-indicator-theme-unit-fields.component.tsx +39 -0
- package/src/components/indicators/create-base-indicator-modal.component.tsx +623 -0
- package/src/components/indicators/create-composite-base-indicator-modal.component.tsx +295 -0
- package/src/components/indicators/create-custom-indicator-modal.component.tsx +548 -0
- package/src/components/indicators/create-final-indicator-modal.component.tsx +285 -0
- package/src/components/indicators/custom-condition-input.component.tsx +310 -0
- package/src/components/indicators/diagnosis-filters-form.component.tsx +101 -0
- package/src/components/indicators/disaggregation-panel.component.tsx +93 -0
- package/src/components/indicators/handler/concept-search-multiselect.component.tsx +153 -0
- package/src/components/indicators/handler/question-answer-concept-search.component.tsx +336 -0
- package/src/components/indicators/indicator-run-preview-modal.component.tsx +391 -0
- package/src/components/indicators/indicator-search-select.component.tsx +297 -0
- package/src/components/indicators/indicator-status-tag.component.tsx +9 -0
- package/src/components/indicators/indicators-page.component.tsx +673 -0
- package/src/components/indicators/indicators-page.scss +121 -0
- package/src/components/indicators/indicators-table.component.tsx +188 -0
- package/src/components/indicators/preview-table.component.tsx +31 -0
- package/src/components/indicators/sections/composite-indicator-basics.section.tsx +36 -0
- package/src/components/indicators/sections/composite-indicator-picker.section.tsx +116 -0
- package/src/components/indicators/sections/composite-indicator-sql-preview.section.tsx +31 -0
- package/src/components/indicators/sections/custom-indicator-basics.section.tsx +65 -0
- package/src/components/indicators/sections/custom-indicator-disaggregation.section.tsx +93 -0
- package/src/components/indicators/sections/custom-indicator-filters.section.tsx +203 -0
- package/src/components/indicators/sections/custom-indicator-population.section.tsx +107 -0
- package/src/components/indicators/sections/custom-indicator-sql-preview.section.tsx +108 -0
- package/src/components/indicators/sections/final-indicator-basics.section.tsx +46 -0
- package/src/components/indicators/sections/final-indicator-disaggregation.section.tsx +47 -0
- package/src/components/indicators/sections/final-indicator-picker.section.tsx +60 -0
- package/src/components/indicators/sections/final-indicator-preview.section.tsx +20 -0
- package/src/components/indicators/sections/final-indicator-results-preview.section.tsx +65 -0
- package/src/components/indicators/sections/indicator-basics.section.tsx +40 -0
- package/src/components/indicators/sections/indicator-conditions.section.tsx +279 -0
- package/src/components/indicators/sections/indicator-sql-preview.section.tsx +63 -0
- package/src/components/indicators/sections/indicator-theme.section.tsx +48 -0
- package/src/components/indicators/sql-preview.component.tsx +19 -0
- package/src/components/indicators/tag-input.component.tsx +177 -0
- package/src/components/indicators/types/base-indicator-form.types.ts +17 -0
- package/src/components/indicators/types/base-indicator-theme.constants.ts +8 -0
- package/src/components/indicators/types/composite-indicator.types.ts +27 -0
- package/src/components/indicators/types/condition-ui.types.ts +11 -0
- package/src/components/indicators/types/custom-indicator.types.ts +161 -0
- package/src/components/indicators/types/data-theme-config.types.ts +88 -0
- package/src/components/indicators/types/indicator-types.ts +57 -0
- package/src/components/indicators/types/sql-builders.ts +43 -0
- package/src/components/indicators/utils/composite-indicator-sql.utils.test.ts +143 -0
- package/src/components/indicators/utils/composite-indicator-sql.utils.ts +426 -0
- package/src/components/indicators/utils/concept-preload.utils.ts +21 -0
- package/src/components/indicators/utils/custom-indicator-interpreter.test.ts +493 -0
- package/src/components/indicators/utils/custom-indicator-interpreter.ts +702 -0
- package/src/components/indicators/utils/final-indicator-sql.utils.ts +190 -0
- package/src/components/indicators/utils/indicator-conditions-hydration.utils.ts +254 -0
- package/src/components/indicators/utils/indicator-sql-resolution.utils.ts +204 -0
- package/src/components/indicators/utils/indicator-sql.utils.ts +721 -0
- package/src/components/indicators/utils/population-sql.compiler.test.ts +985 -0
- package/src/components/indicators/utils/population-sql.compiler.ts +858 -0
- package/src/components/landing/landing-action-item.component.tsx +50 -0
- package/src/components/landing/landing-action-list.component.tsx +12 -0
- package/src/components/landing/landing-activity-list.component.tsx +47 -0
- package/src/components/landing/landing-footer-grid.component.tsx +45 -0
- package/src/components/landing/landing-hero.component.tsx +18 -0
- package/src/components/landing/landing-section-card.component.tsx +33 -0
- package/src/components/landing/report-builder-landing-page.component.tsx +186 -0
- package/src/components/landing/report-builder-landing-page.scss +131 -0
- package/src/components/legacy-reports/legacy-report-detail-page.component.tsx +300 -0
- package/src/components/legacy-reports/legacy-report-editor-page.component.tsx +324 -0
- package/src/components/legacy-reports/legacy-report-upload-modal.component.tsx +307 -0
- package/src/components/legacy-reports/legacy-reports-page.component.tsx +206 -0
- package/src/components/legacy-reports/legacy-reports-table.component.tsx +154 -0
- package/src/components/legacy-reports/tabs/legacy-report-datasets-tab.component.tsx +344 -0
- package/src/components/legacy-reports/tabs/legacy-report-dimensions-tab.component.tsx +590 -0
- package/src/components/legacy-reports/tabs/legacy-report-indicators-tab.component.tsx +490 -0
- package/src/components/legacy-reports/tabs/legacy-report-json-preview-tab.component.tsx +272 -0
- package/src/components/legacy-reports/tabs/legacy-report-overview-tab.component.tsx +218 -0
- package/src/components/legacy-reports/tabs/legacy-report-parameters-tab.component.tsx +279 -0
- package/src/components/linelist/definition/indicator-to-sql.utils.ts +281 -0
- package/src/components/linelist/definition/linelist-definition-editor.component.tsx +1676 -0
- package/src/components/linelist/definition/linelist-definition-editor.scss +461 -0
- package/src/components/linelist/definition/linelist-definition.types.ts +108 -0
- package/src/components/linelist/definition/panels/column-properties-panel.component.tsx +328 -0
- package/src/components/linelist/definition/panels/column-selector-panel.component.tsx +1082 -0
- package/src/components/linelist/definition/panels/column-selector-panel.scss +100 -0
- package/src/components/linelist/definition/panels/custom-sql-column-modal.component.tsx +248 -0
- package/src/components/linelist/definition/panels/encounter-diagnosis-column-modal.component.tsx +300 -0
- package/src/components/linelist/definition/panels/encounter-diagnosis-column-modal.scss +21 -0
- package/src/components/linelist/definition/panels/multi-datasource-selector.component.tsx +332 -0
- package/src/components/linelist/definition/panels/multi-datasource-selector.scss +161 -0
- package/src/components/linelist/definition/panels/observation-column-modal.component.tsx +450 -0
- package/src/components/linelist/definition/panels/observation-column-modal.scss +29 -0
- package/src/components/linelist/definition/panels/parameter-panel.component.tsx +659 -0
- package/src/components/linelist/definition/panels/parameter-panel.scss +64 -0
- package/src/components/linelist/definition/panels/population-source-selector.component.tsx +407 -0
- package/src/components/linelist/definition/panels/population-source-selector.scss +187 -0
- package/src/components/linelist/design/panels/column-category-selector.component.tsx +433 -0
- package/src/components/linelist/design/panels/column-category-selector.scss +324 -0
- package/src/components/linelist/design/panels/column-debug-panel.component.tsx +197 -0
- package/src/components/linelist/design/panels/column-debug-panel.scss +141 -0
- package/src/components/linelist/design/panels/data-catalogue.component.tsx +1062 -0
- package/src/components/linelist/design/panels/data-catalogue.scss +263 -0
- package/src/components/linelist/design/panels/display-settings-panel.component.tsx +405 -0
- package/src/components/linelist/design/panels/display-settings-panel.scss +78 -0
- package/src/components/linelist/design/panels/filtermap-editor.component.tsx +434 -0
- package/src/components/linelist/design/panels/filtermap-editor.scss +176 -0
- package/src/components/linelist/design/panels/json-preview.component.tsx +114 -0
- package/src/components/linelist/design/panels/json-preview.scss +85 -0
- package/src/components/linelist/design/panels/query-config-panel.component.tsx +1137 -0
- package/src/components/linelist/design/panels/query-config-panel.scss +341 -0
- package/src/components/linelist/design/panels/sort-config-panel.component.tsx +330 -0
- package/src/components/linelist/design/panels/sort-config-panel.scss +77 -0
- package/src/components/linelist/design/panels/sql-builder-panel.component.tsx +475 -0
- package/src/components/linelist/design/panels/sql-builder-panel.scss +226 -0
- package/src/components/linelist/design/panels/transformation-panel.component.tsx +687 -0
- package/src/components/linelist/design/panels/transformation-panel.scss +81 -0
- package/src/components/linelist/design/panels/visual-filter-panel.component.tsx +595 -0
- package/src/components/linelist/design/panels/visual-filter-panel.scss +76 -0
- package/src/components/linelist/linelist-dashboard.page.component.tsx +756 -0
- package/src/components/linelist/linelist-dashboard.page.scss +240 -0
- package/src/components/linelist/linelist-editor.page.component.tsx +134 -0
- package/src/components/linelist/linelist-editor.page.scss +28 -0
- package/src/components/linelist/linelist-run-report.page.component.tsx +715 -0
- package/src/components/linelist/linelist-run-report.page.scss +136 -0
- package/src/components/linelist/modals/linelist-report-builder-modal.component.tsx +1454 -0
- package/src/components/linelist/modals/linelist-report-builder-modal.scss +164 -0
- package/src/components/linelist/modals/preview-parameter-modal.component.tsx +361 -0
- package/src/components/report/dashboard/reports-table.component.tsx +186 -0
- package/src/components/report/definition/panels/properties-panel.component.tsx +38 -0
- package/src/components/report/definition/panels/report-structure-panel.component.tsx +61 -0
- package/src/components/report/definition/panels/selection-panel.component.tsx +58 -0
- package/src/components/report/definition/report-definition-editor.component.tsx +99 -0
- package/src/components/report/definition/report-definition.types.ts +66 -0
- package/src/components/report/design/panels/IndicatorPropertiesPanel.scss +33 -0
- package/src/components/report/design/panels/IndicatorPropertiesPanel.tsx +389 -0
- package/src/components/report/design/panels/JsonPreviewPanel.scss +32 -0
- package/src/components/report/design/panels/JsonPreviewPanel.tsx +104 -0
- package/src/components/report/design/panels/mapping-preview-panel.component.tsx +82 -0
- package/src/components/report/design/panels/mapping-preview-panel.scss +55 -0
- package/src/components/report/design/panels/template-structure-panel.component.tsx +296 -0
- package/src/components/report/design/panels/template-structure-panel.scss +81 -0
- package/src/components/report/design/report-design-editor.component.tsx +1170 -0
- package/src/components/report/design/report-design.types.ts +48 -0
- package/src/components/report/design/report-design.utils.ts +86 -0
- package/src/components/report/panels/report-detail.component.tsx +71 -0
- package/src/components/report/panels/report-panel-shell.component.tsx +60 -0
- package/src/components/report/report-dashboard.page.component.tsx +554 -0
- package/src/components/report/report-editor.page.component.tsx +590 -0
- package/src/components/report/report.routes.tsx +32 -0
- package/src/components/report-sections/create-report-section-modal.component.tsx +388 -0
- package/src/components/report-sections/hooks/useAgeCategories.ts +25 -0
- package/src/components/report-sections/hooks/useSectionEditorState.ts +449 -0
- package/src/components/report-sections/panels/Dhis2MappingPanel.tsx +157 -0
- package/src/components/report-sections/panels/DisaggregationPanel.tsx +97 -0
- package/src/components/report-sections/panels/IndicatorPickerPanel.tsx +201 -0
- package/src/components/report-sections/panels/SectionBasicsPanel.tsx +27 -0
- package/src/components/report-sections/report-section-preview-modal.component.tsx +548 -0
- package/src/components/report-sections/report-sections-page.component.tsx +325 -0
- package/src/components/report-sections/section-disaggregation.utils.ts +637 -0
- package/src/components/report-sections/section-types.ts +55 -0
- package/src/components/report-sections/section-utils.ts +50 -0
- package/src/components/report-sections/sections-page.scss +79 -0
- package/src/components/run-reports/run-reports-page.component.tsx +8 -0
- package/src/components/security/access-denied-page.component.tsx +64 -0
- package/src/components/security/access-denied-page.scss +39 -0
- package/src/components/security/privilege-route.component.test.tsx +76 -0
- package/src/components/security/privilege-route.component.tsx +39 -0
- package/src/components/shared/compile-setup-modal.component.tsx +182 -0
- package/src/components/shared/concept-selector.component.tsx +245 -0
- package/src/components/shared/concept-selector.scss +121 -0
- package/src/components/shared/header/builder-header-actions.component.tsx +38 -0
- package/src/components/shared/header/header.component.tsx +85 -0
- package/src/components/shared/header/header.scss +151 -0
- package/src/components/shared/header/illustration.component.tsx +34 -0
- package/src/components/shared/indicator-properties-panel/IndicatorPropertiesPanel.scss +33 -0
- package/src/components/shared/indicator-properties-panel/IndicatorPropertiesPanel.tsx +389 -0
- package/src/components/shared/json-preview-panel/JsonPreviewPanel.scss +32 -0
- package/src/components/shared/json-preview-panel/JsonPreviewPanel.tsx +104 -0
- package/src/components/shared/mapping-preview-panel/mapping-preview-panel.component.tsx +82 -0
- package/src/components/shared/mapping-preview-panel/mapping-preview-panel.scss +55 -0
- package/src/components/shared/preview/query-results-preview.component.tsx +204 -0
- package/src/components/shared/template-structure-panel/template-structure-panel.component.tsx +296 -0
- package/src/components/shared/template-structure-panel/template-structure-panel.scss +81 -0
- package/src/config-schema.ts +43 -0
- package/src/constants/privileges.test.ts +54 -0
- package/src/constants/privileges.ts +118 -0
- package/src/features/dashboards/DashboardRendererPage.tsx +174 -0
- package/src/features/dashboards/DashboardsPage.tsx +164 -0
- package/src/features/dashboards/EtlDashboardPage.tsx +32 -0
- package/src/features/dashboards/components/DashboardEmptyState.tsx +41 -0
- package/src/features/dashboards/components/DashboardGrid.tsx +48 -0
- package/src/features/dashboards/components/DashboardHeader.tsx +58 -0
- package/src/features/dashboards/components/DashboardSection.tsx +46 -0
- package/src/features/dashboards/components/ReportLaunchCard.tsx +51 -0
- package/src/features/dashboards/components/WidgetSlotDispatcher.tsx +61 -0
- package/src/features/dashboards/components/WidgetUnavailableCard.tsx +36 -0
- package/src/features/dashboards/dashboards.scss +196 -0
- package/src/features/dashboards/hooks/useDashboard.ts +61 -0
- package/src/features/dashboards/hooks/useDashboardWidgets.ts +74 -0
- package/src/features/dashboards/hooks/useDashboards.ts +56 -0
- package/src/features/dashboards/hooks/useMonitorDataMap.ts +84 -0
- package/src/features/dashboards/index.ts +11 -0
- package/src/features/dashboards/utils/dashboard-config.util.test.ts +286 -0
- package/src/features/dashboards/utils/dashboard-config.util.ts +382 -0
- package/src/features/report-visualizer/ReportVisualizerPage.tsx +448 -0
- package/src/features/report-visualizer/components/Export/ExportMenu.tsx +141 -0
- package/src/features/report-visualizer/components/Export/index.ts +2 -0
- package/src/features/report-visualizer/components/ReportExplorer/QuickFilters.tsx +152 -0
- package/src/features/report-visualizer/components/ReportExplorer/ReportCategoryFilter.tsx +54 -0
- package/src/features/report-visualizer/components/ReportExplorer/ReportExplorerPanel.tsx +201 -0
- package/src/features/report-visualizer/components/ReportExplorer/ReportExplorerRail.tsx +202 -0
- package/src/features/report-visualizer/components/ReportExplorer/ReportList.tsx +287 -0
- package/src/features/report-visualizer/components/ReportExplorer/ReportSearch.tsx +151 -0
- package/src/features/report-visualizer/components/ReportExplorer/ReportTagFilter.tsx +100 -0
- package/src/features/report-visualizer/components/ReportExplorer/RunReportButton.tsx +42 -0
- package/src/features/report-visualizer/components/ReportExplorer/RuntimeParameterForm.tsx +259 -0
- package/src/features/report-visualizer/components/ReportExplorer/index.ts +8 -0
- package/src/features/report-visualizer/components/ReportWorkspace/ReportLayer.tsx +33 -0
- package/src/features/report-visualizer/components/ReportWorkspace/ReportSummary.tsx +88 -0
- package/src/features/report-visualizer/components/ReportWorkspace/ReportViewTabs.tsx +72 -0
- package/src/features/report-visualizer/components/ReportWorkspace/ReportWorkspaceHeader.tsx +92 -0
- package/src/features/report-visualizer/components/ReportWorkspace/ReportWorkspacePanel.tsx +242 -0
- package/src/features/report-visualizer/components/ReportWorkspace/index.ts +5 -0
- package/src/features/report-visualizer/components/TableView/ColumnVisibilityMenu.tsx +206 -0
- package/src/features/report-visualizer/components/TableView/ReportTable.tsx +253 -0
- package/src/features/report-visualizer/components/TableView/index.ts +2 -0
- package/src/features/report-visualizer/hooks/index.ts +4 -0
- package/src/features/report-visualizer/hooks/useExplorerPreferences.ts +103 -0
- package/src/features/report-visualizer/hooks/useReportCapabilities.ts +112 -0
- package/src/features/report-visualizer/hooks/useReportParameters.ts +152 -0
- package/src/features/report-visualizer/hooks/useReports.ts +135 -0
- package/src/features/report-visualizer/index.ts +6 -0
- package/src/features/report-visualizer/report-visualizer.scss +593 -0
- package/src/features/report-visualizer/types/index.ts +1 -0
- package/src/features/report-visualizer/types/report-visualizer.types.ts +104 -0
- package/src/features/report-visualizer/utils/status-colors.ts +117 -0
- package/src/globals.d.ts +9 -0
- package/src/hooks/address-template.ts +86 -0
- package/src/hooks/concept.ts +112 -0
- package/src/hooks/indicator/index.ts +1 -0
- package/src/hooks/indicator/useIndicatorsByTheme.ts +41 -0
- package/src/hooks/openmrs-reference-data.ts +432 -0
- package/src/hooks/theme/index.ts +4 -0
- package/src/hooks/theme/useDataTheme.ts +61 -0
- package/src/hooks/theme/useDataThemes.ts +28 -0
- package/src/hooks/theme/useMambaTableMeta.ts +34 -0
- package/src/hooks/theme/useMambaTables.ts +95 -0
- package/src/hooks/use-report-builder-privileges.test.tsx +92 -0
- package/src/hooks/use-report-builder-privileges.ts +58 -0
- package/src/index.ts +29 -0
- package/src/resources/address-template/address-template.api.ts +180 -0
- package/src/resources/agegroup/agegroups.api.ts +58 -0
- package/src/resources/concept/concept.api.ts +116 -0
- package/src/resources/concepts/concept-mapper.ts +21 -0
- package/src/resources/concepts/concept-types.ts +31 -0
- package/src/resources/concepts/concepts.resource.ts +44 -0
- package/src/resources/concepts/useConceptSearch.ts +41 -0
- package/src/resources/dashboard/dashboard.api.ts +107 -0
- package/src/resources/etl-monitor/etl-monitor-test.api.ts +409 -0
- package/src/resources/etl-monitor/etl-monitor.api.ts +381 -0
- package/src/resources/etl-source/etl-source.api.ts +65 -0
- package/src/resources/etl-task/etl-task.api.ts +96 -0
- package/src/resources/etl-task/etl-task.types.ts +31 -0
- package/src/resources/indicator/indicators.api.ts +125 -0
- package/src/resources/legacy-reports/legacy-reports.api.ts +144 -0
- package/src/resources/linelist/linelist-reports.api.ts +616 -0
- package/src/resources/location/location.api.ts +135 -0
- package/src/resources/openmrs-api.ts +40 -0
- package/src/resources/patient-identifier-type/patient-identifier-type.api.ts +65 -0
- package/src/resources/person-attribute-type/person-attribute-type.api.ts +71 -0
- package/src/resources/preview/sql-preview.api.ts +54 -0
- package/src/resources/report/reports.api.ts +140 -0
- package/src/resources/report-category/report-category.api.ts +41 -0
- package/src/resources/report-import-export/import-export-api.ts +164 -0
- package/src/resources/report-library/report-library.api.ts +63 -0
- package/src/resources/report-section/report-sections.api.ts +73 -0
- package/src/resources/report-section/section-preview.api.ts +25 -0
- package/src/resources/theme/data-theme.api.ts +88 -0
- package/src/resources/theme/etl-schema.api.ts +101 -0
- package/src/resources/theme/etl-table-meta.api.ts +45 -0
- package/src/root.component.tsx +20 -0
- package/src/routes/report-builder.routes.tsx +160 -0
- package/src/routes/report-builder.scss +56 -0
- package/src/routes.json +31 -0
- package/src/sample-template.ts +121 -0
- package/src/template-utils.ts +110 -0
- package/src/types/carbon-react-inert.d.ts +13 -0
- package/src/types/condition-operators.ts +63 -0
- package/src/types/dashboard/dashboard.types.ts +137 -0
- package/src/types/dashboard/index.ts +4 -0
- package/src/types/etl/etl-types.ts +238 -0
- package/src/types/etl-monitor/etl-monitor-builder.types.ts +555 -0
- package/src/types/etl-monitor/etl-monitor-v2.types.ts +397 -0
- package/src/types/etl-monitor/etl-monitor.types.ts +188 -0
- package/src/types/etl-monitor/index.ts +6 -0
- package/src/types/linelist/compile-config.ts +455 -0
- package/src/types/linelist-types.ts +2059 -0
- package/src/types/theme/data-theme.types.ts +88 -0
- package/src/utils/api-error.utils.test.ts +147 -0
- package/src/utils/api-error.utils.ts +131 -0
- package/src/utils/config-enhancer.ts +62 -0
- package/src/utils/etl-browser/etl-browser.util.test.ts +151 -0
- package/src/utils/etl-browser/export-csv.util.ts +43 -0
- package/src/utils/etl-browser/group-tables.util.ts +84 -0
- package/src/utils/etl-browser/index.ts +4 -0
- package/src/utils/etl-browser/summarize-columns.util.ts +27 -0
- package/src/utils/etl-browser/table-sql.util.ts +20 -0
- package/src/utils/etl-monitor/config-v2-adapter.util.ts +460 -0
- package/src/utils/etl-monitor/endpoint-config-normalizer.util.ts +383 -0
- package/src/utils/etl-monitor/index.ts +10 -0
- package/src/utils/etl-monitor/jsonpath-resolver.util.ts +118 -0
- package/src/utils/etl-monitor/normalization-examples.ts +0 -0
- package/src/utils/etl-monitor/schema-inspector.util.ts +76 -0
- package/src/utils/etl-monitor/semantic-type-detector.util.ts +76 -0
- package/src/utils/etl-monitor/status-mapper.util.ts +105 -0
- package/src/utils/etl-monitor/value-formatters.util.ts +167 -0
- package/src/utils/etl-task/etl-task-card.util.test.ts +240 -0
- package/src/utils/etl-task/etl-task-card.util.ts +276 -0
- package/src/utils/etl-task/index.ts +1 -0
- package/src/utils/html-entities.utils.ts +34 -0
- package/src/utils/parameter-resolution.ts +218 -0
- package/src/views/etl-monitor-builder/add-monitor-modal.component.scss +0 -0
- package/src/views/etl-monitor-builder/add-monitor-modal.component.tsx +210 -0
- package/src/views/etl-monitor-builder/etl-monitor-builder.component.scss +157 -0
- package/src/views/etl-monitor-builder/etl-monitor-builder.component.tsx +252 -0
- package/src/views/etl-monitor-builder/etl-monitor-builder.store.ts +126 -0
- package/tools/i18next-parser.config.js +0 -0
- package/tools/setup-tests.ts +1 -0
- package/tools/update-openmrs-deps.mjs +42 -0
- package/translations/am.json +65 -0
- package/translations/ar.json +65 -0
- package/translations/ar_SY.json +65 -0
- package/translations/bn.json +65 -0
- package/translations/cs.json +65 -0
- package/translations/de.json +65 -0
- package/translations/en.json +65 -0
- package/translations/en_US.json +65 -0
- package/translations/es.json +65 -0
- package/translations/es_MX.json +65 -0
- package/translations/fr.json +65 -0
- package/translations/he.json +65 -0
- package/translations/hi.json +65 -0
- package/translations/hi_IN.json +65 -0
- package/translations/id.json +65 -0
- package/translations/it.json +65 -0
- package/translations/ka.json +65 -0
- package/translations/km.json +65 -0
- package/translations/ku.json +65 -0
- package/translations/ky.json +65 -0
- package/translations/lg.json +65 -0
- package/translations/ne.json +65 -0
- package/translations/pl.json +65 -0
- package/translations/pt.json +65 -0
- package/translations/pt_BR.json +65 -0
- package/translations/qu.json +65 -0
- package/translations/ro_RO.json +65 -0
- package/translations/ru_RU.json +65 -0
- package/translations/si.json +65 -0
- package/translations/sq.json +65 -0
- package/translations/sw.json +65 -0
- package/translations/sw_KE.json +65 -0
- package/translations/tr.json +65 -0
- package/translations/tr_TR.json +65 -0
- package/translations/uk.json +65 -0
- package/translations/uz.json +65 -0
- package/translations/uz@Latn.json +65 -0
- package/translations/uz_UZ.json +65 -0
- package/translations/vi.json +65 -0
- package/translations/zh.json +65 -0
- package/translations/zh_CN.json +65 -0
- package/translations/zh_TW.json +65 -0
- package/tsconfig.json +24 -0
- package/vitest.config.mts +42 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openmrs-esm-report-builder.js","sources":["webpack://@openmrs/esm-report-builder/webpack/runtime/jsonp_chunk_loading","webpack://@openmrs/esm-report-builder/webpack/runtime/embed_federation_runtime","webpack://@openmrs/esm-report-builder/==void 0","webpack://@openmrs/esm-report-builder/./node_modules/@module-federation/runtime/dist/_virtual/_rolldown/runtime.cjs","webpack://@openmrs/esm-report-builder/./node_modules/@module-federation/runtime/dist/helpers.cjs","webpack://@openmrs/esm-report-builder/./node_modules/@module-federation/runtime/dist/index.cjs","webpack://@openmrs/esm-report-builder/./node_modules/@module-federation/runtime/dist/utils.cjs","webpack://@openmrs/esm-report-builder/./node_modules/@module-federation/webpack-bundler-runtime/dist/_virtual/_rolldown/runtime.cjs","webpack://@openmrs/esm-report-builder/./node_modules/@module-federation/webpack-bundler-runtime/dist/attachShareScopeMap.cjs","webpack://@openmrs/esm-report-builder/./node_modules/@module-federation/webpack-bundler-runtime/dist/constant.cjs","webpack://@openmrs/esm-report-builder/./node_modules/@module-federation/webpack-bundler-runtime/dist/consumes.cjs","webpack://@openmrs/esm-report-builder/./node_modules/@module-federation/webpack-bundler-runtime/dist/error-codes/dist/error-codes.cjs","webpack://@openmrs/esm-report-builder/./node_modules/@module-federation/webpack-bundler-runtime/dist/error-codes/dist/getShortErrorMsg.cjs","webpack://@openmrs/esm-report-builder/./node_modules/@module-federation/webpack-bundler-runtime/dist/getSharedFallbackGetter.cjs","webpack://@openmrs/esm-report-builder/./node_modules/@module-federation/webpack-bundler-runtime/dist/getUsedExports.cjs","webpack://@openmrs/esm-report-builder/./node_modules/@module-federation/webpack-bundler-runtime/dist/index.cjs","webpack://@openmrs/esm-report-builder/./node_modules/@module-federation/webpack-bundler-runtime/dist/init.cjs","webpack://@openmrs/esm-report-builder/./node_modules/@module-federation/webpack-bundler-runtime/dist/initContainerEntry.cjs","webpack://@openmrs/esm-report-builder/./node_modules/@module-federation/webpack-bundler-runtime/dist/initializeSharing.cjs","webpack://@openmrs/esm-report-builder/./node_modules/@module-federation/webpack-bundler-runtime/dist/installInitialConsumes.cjs","webpack://@openmrs/esm-report-builder/./node_modules/@module-federation/webpack-bundler-runtime/dist/remotes.cjs","webpack://@openmrs/esm-report-builder/./node_modules/@module-federation/webpack-bundler-runtime/dist/updateOptions.cjs","webpack://@openmrs/esm-report-builder/module_federation/runtime","webpack://@openmrs/esm-report-builder/webpack/runtime/compat_get_default_export","webpack://@openmrs/esm-report-builder/webpack/runtime/define_property_getters","webpack://@openmrs/esm-report-builder/webpack/runtime/ensure_chunk","webpack://@openmrs/esm-report-builder/webpack/runtime/get javascript chunk filename","webpack://@openmrs/esm-report-builder/webpack/runtime/get mini-css chunk filename","webpack://@openmrs/esm-report-builder/webpack/runtime/global","webpack://@openmrs/esm-report-builder/webpack/runtime/has_own_property","webpack://@openmrs/esm-report-builder/webpack/runtime/load_script","webpack://@openmrs/esm-report-builder/webpack/runtime/make_namespace_object","webpack://@openmrs/esm-report-builder/webpack/runtime/rspack_version","webpack://@openmrs/esm-report-builder/webpack/runtime/sharing","webpack://@openmrs/esm-report-builder/webpack/runtime/auto_public_path","webpack://@openmrs/esm-report-builder/webpack/runtime/css loading","webpack://@openmrs/esm-report-builder/webpack/runtime/consumes_loading","webpack://@openmrs/esm-report-builder/webpack/runtime/initialize_exposes","webpack://@openmrs/esm-report-builder/webpack/runtime/rspack_unique_id"],"names":["_ref","_ref1","_ref2","_ref3","_ref4","__webpack_require___remotesLoadingData","__webpack_require___remotesLoadingData1","__webpack_require___initializeSharingData","__webpack_require___consumesLoadingData","__webpack_require___consumesLoadingData1","__webpack_require___initializeExposesData","__webpack_require___consumesLoadingData2","__module_federation_runtime_plugins__","plugin","params","__module_federation_remote_infos__","__webpack_require__","override","obj","key","value","merge","fn","Array","_","_obj","_1","_obj1","Object","early","initial","remotesLoadingChunkMapping","remotesLoadingModuleIdToRemoteDataMapping","initializeSharingScopeToInitDataMapping","consumesLoadingChunkMapping","consumesLoadingModuleToConsumeDataMapping","consumesLoadinginstalledModules","initializeSharingInitPromises","initializeSharingInitTokens","containerShareScope","__module_federation_bundler_runtime__","consumesLoadingModuleToHandlerMapping","moduleId","data","shared","scope","stages","stage","name","version","factory","eager","singleton","requiredVersion","strictVersion","shareConfig","isValidValue","val","options","remote","remotesLoadingIdToExternalAndNameMappingMapping","idToRemoteMap","id","remoteData","info","chunkId","promises","initScope","shareScope","remoteEntryInitOptions","module1","getScope","moduleMap","Promise","Error","undefined","Symbol","r","Date","e","JSON","b","l","h","s","i","p","console","u","globalThis","Function","window","document","clearTimeout","setTimeout"],"mappings":"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"}
|
package/dist/routes.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"reportbuilder":"*"},"pages":[{"component":"root","route":"report-builder","online":true,"offline":false,"order":1}],"extensions":[{"name":"system-administration-report-builder-card-link","slot":"system-admin-page-card-link-slot","component":"reportBuilderAdminLink","online":true,"offline":false,"privileges":"Task: reportbuilder.report.view"},{"component":"confirmModal","name":"confirm-modal","online":true,"offline":true}],"version":"0.1.1-pre.101"}
|
package/e2e/core/env.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const e2eBaseUrl = (process.env.E2E_BASE_URL || 'http://localhost:8080/openmrs').replace(/\/$/, '');
|
|
2
|
+
export const playwrightBaseUrl = process.env.PLAYWRIGHT_BASE_URL || `${e2eBaseUrl}/spa/report-builder`;
|
|
3
|
+
export const username = process.env.E2E_USERNAME || 'admin';
|
|
4
|
+
export const password = process.env.E2E_PASSWORD || 'Admin123';
|
|
5
|
+
export const loginLocation = process.env.E2E_LOGIN_LOCATION || '8d6c993e-c2cc-11de-8d13-0010c6dffd0f';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { request, type FullConfig } from '@playwright/test';
|
|
2
|
+
import fs from 'node:fs/promises';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { e2eBaseUrl, loginLocation, password, username } from './env';
|
|
5
|
+
|
|
6
|
+
async function globalSetup(config: FullConfig) {
|
|
7
|
+
const storageStatePath = config.projects[0]?.use?.storageState as string | undefined;
|
|
8
|
+
if (!storageStatePath) return;
|
|
9
|
+
|
|
10
|
+
const requestContext = await request.newContext({ baseURL: e2eBaseUrl });
|
|
11
|
+
|
|
12
|
+
const authHeader = `Basic ${Buffer.from(`${username}:${password}`).toString('base64')}`;
|
|
13
|
+
const response = await requestContext.post(`${e2eBaseUrl}/ws/rest/v1/session`, {
|
|
14
|
+
headers: {
|
|
15
|
+
Authorization: authHeader,
|
|
16
|
+
'Content-Type': 'application/json',
|
|
17
|
+
},
|
|
18
|
+
data: {
|
|
19
|
+
sessionLocation: loginLocation,
|
|
20
|
+
},
|
|
21
|
+
failOnStatusCode: false,
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
if (!response.ok()) {
|
|
25
|
+
throw new Error(`E2E authentication failed with status ${response.status()}. Check E2E_* variables and backend availability.`);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const state = await requestContext.storageState();
|
|
29
|
+
await fs.mkdir(path.dirname(storageStatePath), { recursive: true });
|
|
30
|
+
await fs.writeFile(storageStatePath, JSON.stringify(state, null, 2));
|
|
31
|
+
await requestContext.dispose();
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export default globalSetup;
|
package/e2e/core/test.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { test as base, expect } from '@playwright/test';
|
|
2
|
+
import { AppShellPage } from '../pages/app-shell.page';
|
|
3
|
+
import { ETLSourcesPage } from '../pages/etl-sources.page';
|
|
4
|
+
import { ReportSectionsPage } from '../pages/report-sections.page';
|
|
5
|
+
import { SectionPreviewModal } from '../pages/section-preview.modal';
|
|
6
|
+
|
|
7
|
+
type Fixtures = {
|
|
8
|
+
appShell: AppShellPage;
|
|
9
|
+
etlSourcesPage: ETLSourcesPage;
|
|
10
|
+
reportSectionsPage: ReportSectionsPage;
|
|
11
|
+
sectionPreviewModal: SectionPreviewModal;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export const test = base.extend<Fixtures>({
|
|
15
|
+
appShell: async ({ page }, use) => use(new AppShellPage(page)),
|
|
16
|
+
etlSourcesPage: async ({ page }, use) => use(new ETLSourcesPage(page)),
|
|
17
|
+
reportSectionsPage: async ({ page }, use) => use(new ReportSectionsPage(page)),
|
|
18
|
+
sectionPreviewModal: async ({ page }, use) => use(new SectionPreviewModal(page)),
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
export { expect };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Page } from '@playwright/test';
|
|
2
|
+
import { playwrightBaseUrl } from '../core/env';
|
|
3
|
+
|
|
4
|
+
export class AppShellPage {
|
|
5
|
+
constructor(private readonly page: Page) {}
|
|
6
|
+
|
|
7
|
+
async goto(path = '/') {
|
|
8
|
+
await this.page.goto(`${playwrightBaseUrl}${path}`);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
async openHome() {
|
|
12
|
+
await this.page.getByRole('link', { name: 'Home' }).click();
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
async openReports() {
|
|
16
|
+
await this.page.getByRole('link', { name: 'Reports' }).click();
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
async openSections() {
|
|
20
|
+
await this.page.getByRole('link', { name: 'Sections' }).click();
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
async openIndicators() {
|
|
24
|
+
await this.page.getByRole('link', { name: 'Indicators' }).click();
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
async openAdminMenu() {
|
|
28
|
+
await this.page.getByText('Admin', { exact: true }).click();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
async openAdminTile(name: string) {
|
|
32
|
+
await this.openAdminMenu();
|
|
33
|
+
await this.page.getByText(name, { exact: true }).click();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Page } from '@playwright/test';
|
|
2
|
+
import { expect } from '@playwright/test';
|
|
3
|
+
import { playwrightBaseUrl } from '../core/env';
|
|
4
|
+
|
|
5
|
+
export class ETLSourcesPage {
|
|
6
|
+
constructor(private readonly page: Page) {}
|
|
7
|
+
|
|
8
|
+
async goto() {
|
|
9
|
+
await this.page.goto(`${playwrightBaseUrl}/admin/etl-sources`);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
async expectLoaded() {
|
|
13
|
+
await expect(this.page.getByRole('heading', { name: 'ETL Sources', exact: true })).toBeVisible();
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
async clickNew() {
|
|
17
|
+
await this.page.getByTestId('etl-source-new').click();
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
async fillForm(data: { name: string; code?: string; schemaName?: string; sourceType?: string; description?: string; tablePatterns?: string }) {
|
|
21
|
+
await this.page.getByTestId('etl-source-name').fill(data.name);
|
|
22
|
+
if (data.code !== undefined) await this.page.getByTestId('etl-source-code').fill(data.code);
|
|
23
|
+
if (data.schemaName !== undefined) await this.page.getByTestId('etl-source-schema').fill(data.schemaName);
|
|
24
|
+
if (data.sourceType !== undefined) await this.page.getByTestId('etl-source-type').fill(data.sourceType);
|
|
25
|
+
if (data.description !== undefined) await this.page.getByTestId('etl-source-description').fill(data.description);
|
|
26
|
+
if (data.tablePatterns !== undefined) await this.page.getByTestId('etl-source-table-patterns').fill(data.tablePatterns);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
async save() {
|
|
30
|
+
await this.page.getByRole('button', { name: 'Save' }).click();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
row(name: string) {
|
|
34
|
+
return this.page.getByRole('row').filter({ hasText: name });
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Page } from '@playwright/test';
|
|
2
|
+
import { expect } from '@playwright/test';
|
|
3
|
+
import { playwrightBaseUrl } from '../core/env';
|
|
4
|
+
|
|
5
|
+
export class ReportSectionsPage {
|
|
6
|
+
constructor(private readonly page: Page) {}
|
|
7
|
+
|
|
8
|
+
async goto() {
|
|
9
|
+
await this.page.goto(`${playwrightBaseUrl}/sections`);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
async expectLoaded() {
|
|
13
|
+
await expect(this.page.getByRole('heading', { name: 'Sections', exact: true })).toBeVisible();
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
async openPreviewFor(sectionName: string) {
|
|
17
|
+
const row = this.page.getByTestId(`section-row-${sectionName.replace(/\s+/g, '-')}`);
|
|
18
|
+
await row.getByRole('button').click();
|
|
19
|
+
await this.page.getByText('Preview', { exact: true }).click();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Page } from '@playwright/test';
|
|
2
|
+
import { expect } from '@playwright/test';
|
|
3
|
+
|
|
4
|
+
export class SectionPreviewModal {
|
|
5
|
+
constructor(private readonly page: Page) {}
|
|
6
|
+
|
|
7
|
+
async expectOpen() {
|
|
8
|
+
await expect(this.page.getByRole('dialog')).toBeVisible();
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
async fillPreviewRequest(data: { startDate: string; endDate: string; indicatorUuid?: string; maxRows?: number }) {
|
|
12
|
+
await this.page.getByTestId('section-preview-startdate').fill(data.startDate);
|
|
13
|
+
await this.page.getByTestId('section-preview-enddate').fill(data.endDate);
|
|
14
|
+
if (data.indicatorUuid !== undefined) await this.page.getByTestId('section-preview-indicatoruuid').fill(data.indicatorUuid);
|
|
15
|
+
if (data.maxRows !== undefined) await this.page.getByTestId('section-preview-maxrows').fill(String(data.maxRows));
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
async run() {
|
|
19
|
+
await this.page.getByTestId('section-preview-run').click();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
async expectMatrixVisible() {
|
|
23
|
+
await expect(this.page.getByTestId('section-preview-matrix')).toBeVisible();
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
async expectError(message: string) {
|
|
27
|
+
await expect(this.page.getByText(message)).toBeVisible();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { test, expect } from '../core/test';
|
|
2
|
+
|
|
3
|
+
test.describe('ETL Sources', () => {
|
|
4
|
+
test('creates an ETL source and sends the expected payload', async ({ page, etlSourcesPage }) => {
|
|
5
|
+
await page.route('**/ws/rest/v1/reportbuilder/etlsource**', async (route) => {
|
|
6
|
+
const request = route.request();
|
|
7
|
+
|
|
8
|
+
if (request.method() === 'GET') {
|
|
9
|
+
await route.fulfill({
|
|
10
|
+
status: 200,
|
|
11
|
+
contentType: 'application/json',
|
|
12
|
+
body: JSON.stringify({ results: [] }),
|
|
13
|
+
});
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
if (request.method() === 'POST') {
|
|
18
|
+
const body = request.postDataJSON();
|
|
19
|
+
expect(body).toMatchObject({
|
|
20
|
+
name: 'E2E Source',
|
|
21
|
+
code: 'E2E_SRC',
|
|
22
|
+
schemaName: 'reporting',
|
|
23
|
+
sourceType: 'mysql',
|
|
24
|
+
active: true,
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
await route.fulfill({
|
|
28
|
+
status: 201,
|
|
29
|
+
contentType: 'application/json',
|
|
30
|
+
body: JSON.stringify({ uuid: 'etl-1', ...body }),
|
|
31
|
+
});
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
await route.continue();
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
await etlSourcesPage.goto();
|
|
39
|
+
await etlSourcesPage.expectLoaded();
|
|
40
|
+
await etlSourcesPage.clickNew();
|
|
41
|
+
await etlSourcesPage.fillForm({
|
|
42
|
+
name: 'E2E Source',
|
|
43
|
+
code: 'E2E_SRC',
|
|
44
|
+
schemaName: 'reporting',
|
|
45
|
+
sourceType: 'mysql',
|
|
46
|
+
description: 'Created from Playwright',
|
|
47
|
+
tablePatterns: 'encounter_%',
|
|
48
|
+
});
|
|
49
|
+
await etlSourcesPage.save();
|
|
50
|
+
});
|
|
51
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { test } from '../core/test';
|
|
2
|
+
|
|
3
|
+
test.describe('report builder navigation', () => {
|
|
4
|
+
test('loads the sections page', async ({ reportSectionsPage }) => {
|
|
5
|
+
await reportSectionsPage.goto();
|
|
6
|
+
await reportSectionsPage.expectLoaded();
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
test('loads the ETL Sources page', async ({ etlSourcesPage }) => {
|
|
10
|
+
await etlSourcesPage.goto();
|
|
11
|
+
await etlSourcesPage.expectLoaded();
|
|
12
|
+
});
|
|
13
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { test } from '../core/test';
|
|
2
|
+
|
|
3
|
+
const sectionUuid = '4278ebf9-47ab-40b8-aeca-df3e4a050c79';
|
|
4
|
+
|
|
5
|
+
test.describe('section preview validation', () => {
|
|
6
|
+
test('shows a validation error when dates are missing', async ({ page, reportSectionsPage, sectionPreviewModal }) => {
|
|
7
|
+
await page.route('**/ws/rest/v1/reportbuilder/section?**', async (route) => {
|
|
8
|
+
await route.fulfill({
|
|
9
|
+
status: 200,
|
|
10
|
+
contentType: 'application/json',
|
|
11
|
+
body: JSON.stringify({ results: [{ uuid: sectionUuid, name: 'Monthly HTS Summary', configJson: '{}' }] }),
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
await page.route(`**/ws/rest/v1/reportbuilder/section/${sectionUuid}**`, async (route) => {
|
|
16
|
+
await route.fulfill({
|
|
17
|
+
status: 200,
|
|
18
|
+
contentType: 'application/json',
|
|
19
|
+
body: JSON.stringify({ uuid: sectionUuid, name: 'Monthly HTS Summary', configJson: '{}' }),
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
await page.route('**/ws/rest/v1/reportbuilder/indicator**', async (route) => {
|
|
24
|
+
await route.fulfill({
|
|
25
|
+
status: 200,
|
|
26
|
+
contentType: 'application/json',
|
|
27
|
+
body: JSON.stringify({ results: [] }),
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
await reportSectionsPage.goto();
|
|
32
|
+
await reportSectionsPage.expectLoaded();
|
|
33
|
+
await reportSectionsPage.openPreviewFor('Monthly HTS Summary');
|
|
34
|
+
await sectionPreviewModal.expectOpen();
|
|
35
|
+
await sectionPreviewModal.run();
|
|
36
|
+
await sectionPreviewModal.expectError('Start date and End date are required.');
|
|
37
|
+
});
|
|
38
|
+
});
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { test, expect } from '../core/test';
|
|
2
|
+
|
|
3
|
+
const sectionUuid = '4278ebf9-47ab-40b8-aeca-df3e4a050c79';
|
|
4
|
+
const indicatorUuid = '2b9c6c8e-1234-4d9f-8abc-1234567890ab';
|
|
5
|
+
|
|
6
|
+
test.describe('section preview', () => {
|
|
7
|
+
test('submits preview payload and renders the matrix', async ({ page, reportSectionsPage, sectionPreviewModal }) => {
|
|
8
|
+
await page.route('**/ws/rest/v1/reportbuilder/section?**', async (route) => {
|
|
9
|
+
await route.fulfill({
|
|
10
|
+
status: 200,
|
|
11
|
+
contentType: 'application/json',
|
|
12
|
+
body: JSON.stringify({
|
|
13
|
+
results: [
|
|
14
|
+
{
|
|
15
|
+
uuid: sectionUuid,
|
|
16
|
+
name: 'Monthly HTS Summary',
|
|
17
|
+
code: 'HTS_MONTHLY',
|
|
18
|
+
configJson: JSON.stringify({ indicators: [{ uuid: indicatorUuid }] }),
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
}),
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
await page.route(`**/ws/rest/v1/reportbuilder/section/${sectionUuid}**`, async (route) => {
|
|
26
|
+
await route.fulfill({
|
|
27
|
+
status: 200,
|
|
28
|
+
contentType: 'application/json',
|
|
29
|
+
body: JSON.stringify({
|
|
30
|
+
uuid: sectionUuid,
|
|
31
|
+
name: 'Monthly HTS Summary',
|
|
32
|
+
code: 'HTS_MONTHLY',
|
|
33
|
+
configJson: JSON.stringify({ indicators: [{ uuid: indicatorUuid }] }),
|
|
34
|
+
}),
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
await page.route('**/ws/rest/v1/reportbuilder/indicator**', async (route) => {
|
|
39
|
+
await route.fulfill({
|
|
40
|
+
status: 200,
|
|
41
|
+
contentType: 'application/json',
|
|
42
|
+
body: JSON.stringify({ results: [] }),
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
await page.route('**/ws/rest/v1/reportbuilder/sectionpreview', async (route) => {
|
|
47
|
+
const body = route.request().postDataJSON();
|
|
48
|
+
expect(body).toEqual({
|
|
49
|
+
sectionUuid,
|
|
50
|
+
indicatorUuid,
|
|
51
|
+
startDate: '2026-01-01',
|
|
52
|
+
endDate: '2026-01-31',
|
|
53
|
+
maxRows: 100,
|
|
54
|
+
params: {},
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
await route.fulfill({
|
|
58
|
+
status: 200,
|
|
59
|
+
contentType: 'application/json',
|
|
60
|
+
body: JSON.stringify({
|
|
61
|
+
sectionUuid,
|
|
62
|
+
results: [
|
|
63
|
+
{
|
|
64
|
+
indicatorUuid,
|
|
65
|
+
name: 'HTS TST',
|
|
66
|
+
kind: 'base',
|
|
67
|
+
columns: ['age_group', 'gender', 'value'],
|
|
68
|
+
rows: [
|
|
69
|
+
['0-28d', 'F', 2],
|
|
70
|
+
['0-28d', 'M', 1],
|
|
71
|
+
],
|
|
72
|
+
rowCount: 2,
|
|
73
|
+
truncated: false,
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
}),
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
await reportSectionsPage.goto();
|
|
81
|
+
await reportSectionsPage.expectLoaded();
|
|
82
|
+
await reportSectionsPage.openPreviewFor('Monthly HTS Summary');
|
|
83
|
+
await sectionPreviewModal.expectOpen();
|
|
84
|
+
await sectionPreviewModal.fillPreviewRequest({
|
|
85
|
+
startDate: '2026-01-01',
|
|
86
|
+
endDate: '2026-01-31',
|
|
87
|
+
indicatorUuid,
|
|
88
|
+
maxRows: 100,
|
|
89
|
+
});
|
|
90
|
+
await sectionPreviewModal.run();
|
|
91
|
+
await sectionPreviewModal.expectMatrixVisible();
|
|
92
|
+
await expect(page.getByRole('cell', { name: 'HTS TST' })).toBeVisible();
|
|
93
|
+
});
|
|
94
|
+
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# syntax=docker/dockerfile:1
|
|
2
|
+
FROM node:22-alpine AS build
|
|
3
|
+
|
|
4
|
+
WORKDIR /app
|
|
5
|
+
|
|
6
|
+
# Install dependencies first so Docker layer caching short-circuits it
|
|
7
|
+
COPY package.json yarn.lock .yarnrc.yml ./
|
|
8
|
+
COPY .yarn ./.yarn/
|
|
9
|
+
RUN corepack enable && yarn install --immutable
|
|
10
|
+
|
|
11
|
+
COPY . .
|
|
12
|
+
|
|
13
|
+
# Build and pack this module
|
|
14
|
+
RUN yarn build
|
|
15
|
+
RUN yarn pack -o /app/_openmrs_esm_report_builder.tgz
|
|
16
|
+
|
|
17
|
+
# Assemble the SPA from the manifest's default module set plus this module.
|
|
18
|
+
# Do not run `openmrs build` afterwards: rebuilding the shell here decouples it
|
|
19
|
+
# from the manifest-pinned modules and breaks module federation.
|
|
20
|
+
RUN npm_config_legacy_peer_deps=true npm install -g openmrs@next
|
|
21
|
+
ARG CACHE_BUST
|
|
22
|
+
RUN npm_config_legacy_peer_deps=true openmrs assemble --manifest --mode config --config e2e/support/github/spa-assemble-config.json --target /app/spa
|
|
23
|
+
|
|
24
|
+
FROM openmrs/openmrs-reference-application-3-frontend:nightly
|
|
25
|
+
|
|
26
|
+
# Keep the image's default index.html (the startup script patches it with
|
|
27
|
+
# SPA_PATH/API_URL at runtime); overlay the freshly assembled import map and
|
|
28
|
+
# modules after dropping the precompressed variants that would shadow them.
|
|
29
|
+
RUN rm -f /usr/share/nginx/html/importmap.json.br /usr/share/nginx/html/importmap.json.gz \
|
|
30
|
+
/usr/share/nginx/html/routes.registry.json.br /usr/share/nginx/html/routes.registry.json.gz
|
|
31
|
+
|
|
32
|
+
COPY --from=build /app/spa/ /usr/share/nginx/html/
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# This docker compose file is used to create a backend environment for the e2e.yml
|
|
2
|
+
# workflow. The images are pre-filled with data so that the backend environment can
|
|
3
|
+
# be started within a short time. Adapted from openmrs-esm-core for this repo.
|
|
4
|
+
services:
|
|
5
|
+
gateway:
|
|
6
|
+
image: openmrs/openmrs-reference-application-3-gateway:${TAG:-nightly}
|
|
7
|
+
hostname: gateway
|
|
8
|
+
depends_on:
|
|
9
|
+
- frontend
|
|
10
|
+
- backend
|
|
11
|
+
ports:
|
|
12
|
+
- "${E2E_PORT:-8080}:80"
|
|
13
|
+
|
|
14
|
+
frontend:
|
|
15
|
+
build:
|
|
16
|
+
context: .
|
|
17
|
+
dockerfile: e2e/support/github/Dockerfile
|
|
18
|
+
hostname: frontend
|
|
19
|
+
environment:
|
|
20
|
+
SPA_PATH: /openmrs/spa
|
|
21
|
+
API_URL: /openmrs
|
|
22
|
+
|
|
23
|
+
backend:
|
|
24
|
+
image: openmrs/openmrs-reference-application-3-backend:nightly-with-data
|
|
25
|
+
hostname: backend
|
|
26
|
+
depends_on:
|
|
27
|
+
- db
|
|
28
|
+
|
|
29
|
+
db:
|
|
30
|
+
image: openmrs/openmrs-reference-application-3-db:nightly-with-data
|
|
31
|
+
hostname: db
|