Skip to content

(feat) O3-5576: Add logic to resolve raw ConceptUUIDs to human-readable names in Interactive Editor - #1724

Open
DushmanthaHerath1 wants to merge 1 commit into
openmrs:mainfrom
DushmanthaHerath1:O3-5576-concept-name-display
Open

(feat) O3-5576: Add logic to resolve raw ConceptUUIDs to human-readable names in Interactive Editor#1724
DushmanthaHerath1 wants to merge 1 commit into
openmrs:mainfrom
DushmanthaHerath1:O3-5576-concept-name-display

Conversation

@DushmanthaHerath1

Copy link
Copy Markdown
  • Implemented robust UUID extraction logic to handle various stringified JSON formats (quotes, brackets, escaped slashes).
  • Created ConceptNameDisplay component using useOpenmrsSWR.
  • Added comprehensive unit tests for standard and legacy UUID formats.

Requirements

  • This PR has a title that briefly describes the work done including the ticket number. Ensure your PR title includes a conventional commit label (such as feat, fix, or chore, among others). See existing PR titles for inspiration.

If applicable

  • My work is based on designs, which are linked or shown either in the Jira ticket or the description below.
  • My work includes tests or is validated by existing tests.
  • I have updated the esm-framework and storybook mocks to reflect any API changes.

Summary

This PR addresses the existing TODO in src/configuration/interactive-editor/display-value.tsx to resolve raw ConceptUUIDs and display their human-readable Concept Names using the OpenMRS API.

✅ What is working (Logic & Tests):

  • I created a cleanAndCheckUuid utility using .match() with word boundaries (\b) to safely extract the 36-character UUIDs from the highly inconsistent, stringified configurations coming from the backend (e.g., handling escaped quotes, brackets, etc.).
  • I added a ConceptNameDisplay component utilizing useOpenmrsSWR.
  • All unit tests are passing successfully. The tests confirm that the UUID extraction works perfectly across all edge cases and the loading/fallback states behave as expected in the test environment.

🚧 Actual State & Current Blocker (Seeking Help):
Despite the logic working and tests passing, the UI changes are not reflecting in the browser.

  • The <InlineLoading /> state does not render.
  • The concept names are not appearing.
  • Most importantly, looking at the browser's Network tab, the SWR API call to /ws/rest/v1/concept/ is not being triggered at all.

I have already tried clearing the Webpack cache (rimraf node_modules/.cache & dist) and performing a Hard Reload, but the component still behaves as if the new SWR logic is being bypassed entirely.

Screenshots

(I have attached two screenshots below: One showing the successful passing of all unit tests for this logic, and another showing the browser Network tab where the API call is completely missing).
image
Screenshot (758)
Screenshot (757)

Related Issue

https://openmrs.atlassian.net/browse/O3-5576

Other

🗣️ Questions for Reviewers:
Since the tests prove the component logic works, I suspect there is an integration or architectural issue preventing this specific component from mounting or executing its SWR hook properly in the local environment.

  • Is there a specific way esm-implementer-tools-app handles rendering these values that I am missing?
  • Could this be a higher-order component blocking the render, or a known Turborepo caching issue?
    I would really appreciate some guidance on why the API call isn't firing in the actual UI!

…or ConceptUUIDs

- Implemented robust UUID extraction logic to handle various stringified JSON formats (quotes, brackets, escaped slashes).
- Created ConceptNameDisplay component using useOpenmrsSWR.
- Added loading state with backward compatibility for SWR v1.x.
- Added comprehensive unit tests for standard and legacy UUID formats.
@changeset-bot

changeset-bot Bot commented Mar 31, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 55591a8

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@sonarqubecloud

Copy link
Copy Markdown

@DushmanthaHerath1

Copy link
Copy Markdown
Author

🗣️ Questions for Reviewers:
Since the tests prove the component logic works, I suspect there is an integration or architectural issue preventing this specific component from mounting or executing its SWR hook properly in the local environment.

  • Is there a specific way esm-implementer-tools-app handles rendering these values that I am missing?
  • Could this be a higher-order component blocking the render, or a known Turborepo caching issue?
    I would really appreciate some guidance on why the API call isn't firing in the actual UI!

@ibacher ibacher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove the updated Markdown files from this commit.

});

/**
* Test Case 4: Long text false-positive prevention.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For a cleaner codebase, it's better to avoid comments for obvious code

render(<DisplayValue value={testUuid} />);

expect(screen.getByText('Malaria')).toBeInTheDocument();
expect(screen.getByText(`(${testUuid})`)).toBeInTheDocument();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This component needs to actually integrate the new ConceptNameDisplay component.
Currently, when a string value is a UUID, it's just displaying the raw UUID string.
You need to add logic here to. some thing like :

else if (typeof value === 'string' && isValidUUID(value)) {
return ;
}

@ibacher
ibacher requested a review from Copilot April 2, 2026 13:27

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR appears to update the generated @openmrs/esm-framework API docs, but (based on the diff provided) it does not include the Interactive Editor Concept UUID resolution logic described in the PR title/description.

Changes:

  • Updates many generated markdown docs under packages/framework/esm-framework/docs/.
  • Rewrites “Defined in:” source links to point to a personal fork (github.com/DushmanthaHerath1/...) rather than the upstream openmrs/openmrs-esm-core repository.

Reviewed changes

Copilot reviewed 300 out of 610 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
packages/framework/esm-framework/docs/interfaces/NavigateOptions.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/MessageServiceWorkerResult.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/LoggedInUserFetchResponse.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/Link.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/LeftNavStore.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/ImportMap.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/FetchResponseJson.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/FetchResponse.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/FetchHeaders.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/FetchError.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/FetchConfig.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/FeatureFlagDefinition.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/FHIRResource.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/FHIRLocationResource.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/FHIRCode.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/ExtensionStore.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/ExtensionSlotState.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/ExtensionSlotProps.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/ExtensionSlotConfigureValueObject.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/ExtensionSlotConfig.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/ExtensionSlotBaseProps.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/ExtensionMeta.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/ExtensionData.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/ErrorStateProps.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/EmptyCardProps.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/DynamicOfflineDataSyncState.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/DynamicOfflineDataHandler.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/DynamicOfflineData.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/DurationOptionsWithFormat.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/DurationOptions.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/DisplayConditionsConfigObject.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/DefaultWorkspaceProps.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/CurrentPatientOptions.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/ConnectivityChangedEvent.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/ConnectedExtension.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/ConfigurableLinkProps.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/ConfigSchema.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/ConfigObject.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/Config.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/ComponentConfig.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/CloseWorkspaceOptions.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/ClearDynamicRoutesMessage.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/CardHeaderProps.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/CancelLoading.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/BreadcrumbSettings.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/BreadcrumbRegistration.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/AttachmentResponse.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/Attachment.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/AssignedExtension.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/interfaces/ActionMenuButtonProps.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/validator.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/userHasAccess.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useWorkspaces.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useWorkspace2Context.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useVisitTypes.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useVisitContextStore.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useVisit.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useStoreWithActions.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useStore.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useSession.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useRenderableExtensions.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/usePrimaryIdentifierCode.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/usePatientPhoto.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/usePatient.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/usePaginationInfo.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/usePagination.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useOpenmrsSWR.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useOpenmrsPagination.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useOpenmrsInfinite.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useOpenmrsFetchAll.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useOnVisible.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useOnClickOutside.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useLocations.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useLeftNavStore.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useLeftNav.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useLayoutType.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useForceUpdate.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useFhirPagination.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useFhirInfinite.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useFhirFetchAll.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useFeatureFlag.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useExtensionSlotStore.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useExtensionSlotMeta.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useEmrConfiguration.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useDefineAppContext.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useDebounce.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useCustomOverflowMenu.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useConnectivity.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useConfig.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useConceptReferenceRange.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useBodyScrollLock.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useAttachments.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useAssignedExtensions.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useAssignedExtensionIds.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useAppContext.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/useAbortController.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/updateVisit.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/updateContext.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/unsetLeftNav.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/unregisterContext.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/translateFrom.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/toVisitTypeObject.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/toOmrsIsoString.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/toLocationObject.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/toDateObjectStrict.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/syncOfflinePatientData.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/syncDynamicOfflineData.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/syncAllDynamicOfflineData.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/subscribeToastShown.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/subscribeToContext.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/subscribeTo.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/subscribeSnackbarShown.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/subscribePrecacheStaticDependencies.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/subscribeOpenmrsEvent.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/subscribeNotificationShown.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/subscribeConnectivityChanged.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/subscribeConnectivity.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/subscribeActionableNotificationShown.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/showToast.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/showSnackbar.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/showNotification.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/showModal.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/showActionableNotification.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/shallowEqual.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/setupOfflineSync.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/setupDynamicOfflineDataHandler.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/setUserProperties.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/setUserLanguage.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/setSessionLocation.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/setLeftNav.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/setCurrentVisit.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/selectPreferredName.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/saveVisit.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/retry.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/reportError.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/renderExtension.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/removeDynamicOfflineDataFor.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/removeDynamicOfflineData.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/registerOfflinePatientHandler.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/registerFeatureFlag.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/registerDefaultCalendar.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/registerContext.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/registerBreadcrumbs.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/registerBreadcrumb.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/refetchCurrentUser.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/queueSynchronizationItem.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/putDynamicOfflineDataFor.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/putDynamicOfflineData.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/provide.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/parseDateInput.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/parseDate.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/openmrsObservableFetch.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/openmrsFetch.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/oneOf.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/normalizeInterpretation.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/navigateAndLaunchWorkspace.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/navigate.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/messageOmrsServiceWorker.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/makeUrl.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/launchWorkspaceGroup2.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/launchWorkspaceGroup.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/launchWorkspace2.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/launchWorkspace.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/isVersionSatisfied.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/isUrlWithTemplateParameters.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/isOnline.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/isOmrsDateToday.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/isOmrsDateStrict.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/isOfflineUuid.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/isDevEnabled.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/isDesktop.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/interpolateUrl.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/interpolateString.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/inRange.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/importDynamic.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/goBackInHistory.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getVisitsForPatient.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getVisitTypes.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getVisitStore.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getSynchronizationItems.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getSynchronizationItem.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getSyncLifecycle.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getSessionStore.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getSessionLocation.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getRegisteredWorkspace2Names.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getPatientName.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getOfflinePatientDataStore.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getLoggedInUser.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getLocations.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getLocale.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getLifecycle.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getHistory.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getGlobalStore.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getFullSynchronizationItemsFor.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getFullSynchronizationItems.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getFhirServerPaginationHandlers.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getFeatureFlag.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getExtensionStore.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getExtensionNameFromId.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getDynamicOfflineDataHandlers.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getDynamicOfflineDataEntriesFor.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getDynamicOfflineDataEntries.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getDefaultsFromConfigSchema.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getDefaultCalendar.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getCurrentUser.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getCurrentOfflineMode.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getCoreTranslation.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getContext.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getConfig.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getBreadcrumbsFor.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getBreadcrumbs.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getAttachments.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getAttachmentByUuid.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getAsyncLifecycle.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/getAssignedExtensions.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/generateOfflineUuid.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/formattedName.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/formatTime.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/formatPatientName.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/formatPartialDate.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/formatDurationBetween.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/formatDuration.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/formatDatetime.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/formatDate.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/filterBreadcrumbs.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/fetchCurrentPatient.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/extractVariableNames.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/evaluateAsync.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/evaluateAsTypeAsync.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/evaluateAsType.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/evaluateAsNumberAsync.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/evaluateAsNumber.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/evaluateAsBooleanAsync.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/evaluateAsBoolean.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/evaluate.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/duration.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/displayName.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/dispatchPrecacheStaticDependencies.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/dispatchNotificationShown.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/detachAll.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/detach.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/deleteSynchronizationItem.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/deleteAttachmentPermanently.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/defineExtensionConfigSchema.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/defineConfigSchema.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/createUseStore.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/createGlobalStore.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/createErrorHandler.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/createDashboard.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/createAttachment.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/convertToLocaleCalendar.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/compile.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/closeWorkspaceGroup2.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/closeWorkspace.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/clearCurrentUser.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/canBeginEditSynchronizationItemsOfType.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/canAccessStorage.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/calculateInterpretation.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/beginEditSynchronizationItem.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/attach.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/ageAsDuration.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/age.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/WorkspaceContainer.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/PatientPhoto.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/PatientBannerToggleContactDetailsButton.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/PatientBannerPatientInfo.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/PatientBannerPatientIdentifiers.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/PatientBannerContactDetails.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/PatientBannerActionsMenu.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/OpenmrsAppContext.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/ExtensionSlot.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/EmptyCardIllustration.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/DashboardExtension.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/CustomOverflowMenuItem.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/CustomOverflowMenu.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/ConfigurableLink.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/functions/CardHeader.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/enumerations/VisitStatus.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/enumerations/VisitMode.md Generated docs now link to a personal fork in “Defined in” source links
packages/framework/esm-framework/docs/classes/OpenmrsFetchError.md Generated docs now link to a personal fork in “Defined in” source links

# Interface: NavigateOptions

Defined in: [packages/framework/esm-navigation/src/navigation/navigate.ts:12](https://github.com/openmrs/openmrs-esm-core/blob/main/packages/framework/esm-navigation/src/navigation/navigate.ts#L12)
Defined in: [packages/framework/esm-navigation/src/navigation/navigate.ts:12](https://github.com/DushmanthaHerath1/openmrs-esm-core/blob/main/packages/framework/esm-navigation/src/navigation/navigate.ts#L12)

Copilot AI Apr 2, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The generated API docs are now linking to a personal fork (github.com/DushmanthaHerath1/...) in the “Defined in” URLs. This will break or misdirect source links in published documentation and is not appropriate for upstream. Regenerate the docs with the upstream repository URL (github.com/openmrs/openmrs-esm-core) by adjusting the docs generator/TypeDoc configuration that sets the git remote (or ensuring generation happens in a checkout whose origin points at the upstream repo), then commit the regenerated output.

Copilot uses AI. Check for mistakes.
> `optional` **templateParams**: [`TemplateParams`](../type-aliases/TemplateParams.md)

Defined in: [packages/framework/esm-navigation/src/navigation/navigate.ts:14](https://github.com/openmrs/openmrs-esm-core/blob/main/packages/framework/esm-navigation/src/navigation/navigate.ts#L14)
Defined in: [packages/framework/esm-navigation/src/navigation/navigate.ts:14](https://github.com/DushmanthaHerath1/openmrs-esm-core/blob/main/packages/framework/esm-navigation/src/navigation/navigate.ts#L14)

Copilot AI Apr 2, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The generated API docs are now linking to a personal fork (github.com/DushmanthaHerath1/...) in the “Defined in” URLs. This will break or misdirect source links in published documentation and is not appropriate for upstream. Regenerate the docs with the upstream repository URL (github.com/openmrs/openmrs-esm-core) by adjusting the docs generator/TypeDoc configuration that sets the git remote (or ensuring generation happens in a checkout whose origin points at the upstream repo), then commit the regenerated output.

Copilot uses AI. Check for mistakes.
> **to**: `string`

Defined in: [packages/framework/esm-navigation/src/navigation/navigate.ts:13](https://github.com/openmrs/openmrs-esm-core/blob/main/packages/framework/esm-navigation/src/navigation/navigate.ts#L13)
Defined in: [packages/framework/esm-navigation/src/navigation/navigate.ts:13](https://github.com/DushmanthaHerath1/openmrs-esm-core/blob/main/packages/framework/esm-navigation/src/navigation/navigate.ts#L13)

Copilot AI Apr 2, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The generated API docs are now linking to a personal fork (github.com/DushmanthaHerath1/...) in the “Defined in” URLs. This will break or misdirect source links in published documentation and is not appropriate for upstream. Regenerate the docs with the upstream repository URL (github.com/openmrs/openmrs-esm-core) by adjusting the docs generator/TypeDoc configuration that sets the git remote (or ensuring generation happens in a checkout whose origin points at the upstream repo), then commit the regenerated output.

Copilot uses AI. Check for mistakes.
> **useOpenmrsSWR**\<`DataType`, `ErrorType`\>(`key`, `options`): `SWRResponse`\<[`FetchResponse`](../interfaces/FetchResponse.md)\<`DataType`\>, `ErrorType`, `undefined` \| `SWRConfiguration`\<[`FetchResponse`](../interfaces/FetchResponse.md)\<`DataType`\>, `ErrorType`, `BareFetcher`\<[`FetchResponse`](../interfaces/FetchResponse.md)\<`DataType`\>\>\>\>

Defined in: [packages/framework/esm-react-utils/src/useOpenmrsSWR.ts:70](https://github.com/openmrs/openmrs-esm-core/blob/main/packages/framework/esm-react-utils/src/useOpenmrsSWR.ts#L70)
Defined in: [packages/framework/esm-react-utils/src/useOpenmrsSWR.ts:70](https://github.com/DushmanthaHerath1/openmrs-esm-core/blob/main/packages/framework/esm-react-utils/src/useOpenmrsSWR.ts#L70)

Copilot AI Apr 2, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR title/description focus on adding Interactive Editor logic to resolve Concept UUIDs and adding unit tests, but the diff provided only shows generated esm-framework docs link rewrites (to a fork URL). Either the PR description/title needs to be updated to reflect that this PR is a docs regeneration/link fix, or the missing implementation/test changes need to be included in the PR so reviewers can validate the stated feature.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants