npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@refinitiv-workspace-sdk/loader

v3.3.0

Published

Workspace SDK makes it easy for you to create financial applications for the Refinitiv Workspace and work with the Refinitiv Data API. Workspace SDK has all the APIs necessary to integrate with your web application seamlessly.

Downloads

53

Readme

Workspace SDK

Workspace SDK makes it easy for you to create financial applications for the Refinitiv Workspace and work with the Refinitiv Data API. Workspace SDK has all the APIs necessary to integrate with your web application seamlessly.

Plugins

Workspace SDK contains the following plugins:

DesktopAgent plugin provides users with integration capabilities like multi-context linking and navigation. This plugin API is based on FDC3 [DesktopAgent] specification of 1.2 version.

DataLibrary plugin exposes various data APIs and service endpoints that are delivered through the RDP. As more APIs become available in future versions of RDP, they will be added to this library. Note that data obtained through the Refinitv Data Library is subject to licensing and redistribution limitations, according to your subscription. For further information, check the RDP documentation or contact your account manager.

NavigationCapabilities plugin provides the API for obtaining information regarding the ability to navigate by Application Name and Context. This plugin API is based on FDC3 [DesktopAgent] specification of 1.2 version.

Methods:

  • canNavigate - returns a value of the state, based on the Application Name and Context, is navigation allowed. Signature: canNavigate(context: fdc3.context, app: fdc3.AppMetadata): Promise<boolean>;
  • getAppsByContext - retrieves a list of Applications for navigation, determined by the specified Context. Signature: getAppsByContext(context: fdc3.context): Promise<fdc3.AppMetadata[]>;

Workspace SDK modes

Modes are used in Workspace SDK to define its configuration: how exactly will it operate for the app, which platforms and plugins are available for the app. A mode is a mandatory property in the Workspace SDK initialization process. There are two modes available:

  • Container
  • Side-by-side

Side-by-Side (SxS) mode

SxS mode is used when your app can be launched either outside or inside the Refinitiv container. In this mode, Workspace SDK application can interact with:

  • Workspace Web, running in the same browser, or
  • Workspace Desktop, running on the same PC.

Note: To use Side-by-Side mode, API Key and Product ID are needed.

Container mode

Container mode should be used when your app is going to be launched from inside Workspace Web or Workspace Desktop only. In this mode, you do not need to obtain an API key for your application.

Note: To use Container mode you need to run your application inside Refinitiv Workspace.

Getting started

Prerequisites

You should have a Refinitiv account, so Workspace SDK can operate in Side-by-Side and Container modes.

For your application to run in Side-by-Side mode, it is mandatory to register the app in App Key Generator application. Once you have registered, you are provided with the ApiKey and ProductId, which you should use for Workspace SDK initialisation.

Getting started

Install dependencies

$ npm install --save @refinitiv-workspace-sdk/loader

Note: this package also contains typings for the Workspace SDK Loader, DesktopAgent and DataLibrary plugins.

Breaking changes in Workspace-SDK Loader 3.2.0-rc6

Starting from version 3.2.0-rc6 all imports from package @refinitiv/workspace-sdk-core must be replaced by imports from package @refinitiv-types/workspace-sdk-core

Initialize Workspace SDK

Loader exposes two methods to perform initialization, init and ready. Both return a Promise<WorkspaceSDK> with an instance of the WorkspaceSDK interface.

init() method

When initializing Workspace SDK, the following information must be passed to the init() function: • Mode (SxS / Container) • Plugins to be used (DesktopAgent / DataLibrary / both) • Parameters required by the specified plugins

Note: init() should be called only once. Calling it multiple times will cause an error.

Example: a simple Workspace SDK initialization. No plugins are available with Workspace SDK in this case.

import { WorkspaceSDK, Modes } from '@refinitiv-types/workspace-sdk-core';
import * as Loader from '@refinitiv-workspace-sdk/loader';

Loader.init({
    Mode: Modes.Container,
    AppInstanceId: 'YOUR_APP_INSTANCE_ID',
}).then(bootstrapApp);

function bootstrapApp(WSDK: WorkspaceSDK) {
    console.log(WSDK);
}

ready() method

Returns the initialized Workspace SDK instance. It differs from init() in that this method does not start the initialization, but allows you to create a callback for the initialization process. This needs to be started elsewhere using the init() method. This function can help you separate initialization logic from the actual application bootstrap.

Example: using ready() method

import { WorkspaceSDK } from '@refinitiv-types/workspace-sdk-core';
import * as Loader from '@refinitiv-workspace-sdk/loader';

// note: init() method needs to be called elsewhere
Loader.ready().then((WSDK: WorkspaceSDK) => console.log(WSDK));

Use SDK capabilities

Workspace SDK data and workflow integration capabilities are available via DesktopAgent and DataLibrary plugins.

Plugins can be initialized by passing an array of plugin names or a PluginOptions object with additional configuration.

Example: obtaining DesktopAgent and DataLibrary plugins without providing additional parameters.

import { WorkspaceSDK, Modes } from '@refinitiv-types/workspace-sdk-core';
import * as Loader from '@refinitiv-workspace-sdk/loader';

Loader.init({
    Mode: Modes.Container,
    AppInstanceId: 'YOUR_APP_INSTANCE_ID',
}, ['DesktopAgent', 'DataLibrary']).then(bootstrapApp);

function bootstrapApp(WSDK: WorkspaceSDK) {
    // WSDK.DesktopAgent and WSDK.DataLibrary objects are now available 
    console.log(WSDK); 
}

Additional Information

Documentation

Documentation is available on the Refinitiv Developers portal. Link will be provided upon request.

System requirements

Browser support

Latest versions of Chrome, Edge Chromium, and Safari.

Supported platforms

Workspace Web and Desktop (v1.18 or higher) are supported.

For information regarding the system requirements for Workspace SDK, refer to the corresponding platform requirements.

Contact us

Please reach out to [mailto:[email protected]] for additional information

License

Copyright © 2022 Refinitiv, an LSEG business. All rights reserved.

The Refinitiv Workspace SDK works in conjunction with Refinitiv Workspace. It provides integration capabilities for web applications to integrate and interoperate with Refinitiv Workspace. You must be an authorized Refinitiv Workspace user to use the Refinitiv Workspace SDK. By downloading or using the Refinitiv Workspace SDK, you represent that you or your company has entered into a license agreement with Refinitiv governing usage of the Refinitiv Workspace SDK. You may not download or use any part of the Refinitiv Workspace SDK without a license from Refinitiv. Refinitiv Workspace SDK and its closed source components must only be used within Refinitiv products or services. Any use of the Software and its closed source components outside Refinitiv products or services is not permitted unless explicitly authorized in writing from the copyright holder. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written authorization. All intellectual property rights in the Refinitiv Workspace SDK are and shall remain the property of the Refinitiv Group or its third-party licensors. To learn more, please contact your Refinitiv representative.

DISCLAIMER THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.