Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

flexview-runtime-extension

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

flexview-runtime-extension

Base FlexView runtime extension utilities

  • 0.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Runtime Extension

This package was created to allow OHIF v3 extensions to be loaded at runtime. This concept allows the extensions to be built independently from OHIF (even on separate repositories) and injected during OHIF's initialization via configuration.

Using this package

To use this package, you must add it as a dependency of your OHIF v3 extension. As it is a private repository, you must add path reference to your extension's package.json file or use the link feature for both yarn or npm. It is also possible to configure this repository to enable HTTPS+OAuth or SSH authentication and add the repository reference directly in the package.json file. Another alternative would be to pay for npm subscriptions per user and use their private packages feature. And a last alternative would be to host our own npm registry on cloud and add this registry to our private repositories.

Whatever is the option you chose to install this package as a dependency of your extension, you should now be able to import it and use by your extension's code. Here is an example of how you can create and export your runtime extension:

import { RuntimeExtension } from '@radicalimaging/runtime-extension';

const myExtension = {
  id: '@radicalimaging/extension-my',
  preRegistration: (params) => {/* CODE */}
  getHangingProtocolModule: (params) => { /* CODE */ }
  getPanelModule: (params) => {/* CODE */}
  getCommandsModule: (params) => {/* CODE */}
  onModeEnter: () => {/* CODE */}
  onModeExit: () => {/* CODE */}
  /* Other callbacks */
}

const my = {
  hangingProtocol: '@radicalimaging/extension-my.hangingProtocolModule.hp',
  panel1: '@radicalimaging/extension-my.panelModule.panel1',
  panel2: '@radicalimaging/extension-my.panelModule.panel2',
};

const myRuntimeExtension = new RuntimeExtension(myExtension, [{
  modeId: '@ohif/mode-one',
  routePath: 'routeA',
  leftPanels: [my.panel1],
  rightPanels: [my.panel2],
  viewports: [],
  hangingProtocolOverride: my.hangingProtocol,
}]);

export default myRuntimeExtension;

After your extension is ready to go, you can export it into a single JavaScript bundle file. This file you can place directly in your OHIF v3 application root directory and reference it by the app-config.js file under the window.config.runtimeExtensions. Here is an example of the configuration:

window.config = {
  ...
  runtimeExtensions: {
    '@radicalimaging/extension-my': './runtime-extensions/my/index.umd.js',
  },
  ...
};

For the example above, the JavaScript bundle file was placed on ./runtime-extensions/my/ directory.

For more instructions on how to enable the runtime extension from the OHIF v3 side, please see this README.md file of an actual extension that was ported to runtime extensions to serve as an example.

FAQs

Package last updated on 08 Aug 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc