This is a package for loading LHC-Forms (lforms) into a webpage by adding the needed link and script tags to the page.
Exported functions:
-
loadLForms(version, styleCallback, lhcFormsSource): This adds tags to the current page to load LHC-Forms, and returns a promise that resolves when the files have been loaded (or fail to load, in which case the promise will be rejected).
- version: the version to be loaded (e.g., '33.4.1').
- styleCallback: (optional) a function to call as soon as the lforms styles are loaded
- lhcFormsSource: (optional) a base URL from which the lforms files can be retrieved. If not specified, the NLM lhcforms-static website will be used as the source.
-
getSupportedLFormsVersions(): Returns a promise that resolves to an array of the available lforms version strings for the versions supported by this loader script. The versions will be sorted, with the most recent version first.
-
changeLFormsVersion(newLFormsVersion): Handles a selection of a new LForms version by reloading the page to the same URL but with the parameters "lfv" set to the new LForms version. The app should then call the loadLForms function to load that requested version.
- newLFormsVersion: the new version to switch to (assumed valid)
-
loadLatestLForms(): Loads latest released version of LForms. If it fails, it attempts to load the previous version. It uses getSupportedLFormsVersion() to fetch the latest and previous versions and attempts to load the latest first. If that version cannot be loaded, it attempts to load the previous version. If it succeeds, the returned promise resolves to the loaded version.