Glue42 Plugin

The Glue42 Plugin is designed for when AdapTable will be used on a desktop also running Glue42.

This plugin leverages many of the powerful features of Glue42 to offer users additional options such as fully validated 2 way export between AdapTable and Excel.

Setup

To set up the plugin and access the Glue42 Api object, follow these steps:

  1. Import the plugin:

    import glue42 from '@adaptabletools/adaptable-plugin-glue42';
  2. Import the Glue42 Api and and Glue42PluginOptions (typically from the 'types' folder), and import the Glue42 desktop and office objects:

    import { Glue42PluginOptions, Glue42Api } from '@adaptabletools/adaptable/types';
    import glue42Desktop from '@glue42/desktop';
    import glue42office from '@glue42/office';
  1. Create the Glue42PluginOptions as appropriate:

    const glue42PluginOptions: Glue42PluginOptions = {
    glue: glue42Desktop, // this is the glue object
    glue42Office: glue42office, // this is the Glue4Office object
    username: 'myGlue42Username',
    password: 'mygGlue42Passowrd', // ususally put in .env file
    }
  2. Specify the Plugin in Adaptable Options passing in the Options set up in the previous step:

    const adaptableOptions: AdaptableOptions = {
    adaptableId: 'glue42demo',
    plugins: [glue42(glue42PluginOptions)],
    // ... other options
    }
  3. Access the Glue42 Api via the main Adaptable Api object and use as needed:

    const glue42Api: Glue42Api = adaptableApi.pluginsApi.getPluginApi(
    'glue42'
    );

Glue42 Toolbar

The Glue42 Plugin makes a dedicated Dashboard Toolbar called 'Glue42' available.

important

This makes it possible to run Live Reports in Excel

The Toolbar can be referenced in Dashboard Predefined Config as follows:

const demoConfig: PredefinedConfig = {
Dashboard: {
Tabs: [
{
Name: 'Dashboard Toolbars',
Toolbars: ['Layout', 'Glue42', 'Export'],
},
],
},
};

Live Reports

One feature available when AdapTable is running in the Glue42 Plugin is Live Export via Excel.

This enables grid data to be sent from AdapTable to Excel with 2 way updates:

note

Any Reports created in the Export Module will appear in the Toolbar

  • Excel will automatically update in line with cell edits and ticking data changes in AdapTable
  • Any date edits made directly in Excel will be automatically reflected in AdapTable
tip

Live Reports can, like all Reports, be set to run on a Schedule.

Validation

Any data that is edited in Excel when running Live Reports will be subject to any Prevent Edit Alert Rules that have been created in AdapTable.

When a Rule is broken Excel will show an error to indicate which cell has failed and why.

This ensures that data in Excel is validated.

UI Entitlements

Glue42 only works if it's Entitlement is set to Full and the plugin was injected into Adaptable Options.

note

The ReadOnly Entitlement behaviour is the same as if the Access Level was Hidden.

Glue42 Options

The Options required for when using the Glue42 plugin

Glue42 Desktop provides a mechanism whereby AdapTable can be integrated with multiple widgets

PropertyDescription
gatewayURLGateway URL
glueMain Glue desktop object
glue42OfficeMain Glue42 Office object
passwordPassword to use to login to Glue42; typically sourced from PC Credentials
usernameUserName to use to login to Glue42; typically sourced from PC Credentials

Glue42 Options Example

const adaptableOptions: AdaptableOptions = {
plugins: [
glue42({
glue: glue42Desktop, // this is the glue object
glue4Office: glue42office, // this is the Glue4Office object
username: 'Test User',
password: 'testUserPassword',
}),
],
};

Glue42 API

Provides run-time access to the Glue42 Plugin.

Because Glue42 is available via a Plugin, the way to access the Api is as follows:

const glue42Api = adaptableApi.pluginsApi.getPluginApi('glue42');
caution

Some of the API methods are intended for internal use only - and have been marked as such.

MethodDescription
clearGlue42InternalState()Clears all Gluee42 Internal State
getCurrentLiveGlue42Report()Retrieves the current Live Report
getGlue42Schedules()Retrieves all the Glue42 Schedules in from the Schedule section of AdapTable State
getGlue42State()Retrieves the Glue42 section of Adaptable State
getPluginOptions()Retrieves the Glue42PluginOptions provided in Glue42 Plugin
isGlue42Available()Returns true if the Glue42 plugin is loaded
isGlue42Running()Returns true if the Glue42 plugin is loaded AND the user has logged into Glue42
loginToGlue42(userName, password)Logs in the User to Glue42 using the given UserName and Password
logoutFromGlue42()Logs out the currently logged in User from Glue42
sendSnapshotToDo(glue42Report)Starts a Snapshot as opposed to a Live report
setGlue42AvailableOff()Sets Glue42 Availability Off
setGlue42AvailableOn()Sets Glue42 Availability On
setGlue42LoginErrorMessage(loginErrorMessage)Sets an Error Message returned from Glue42 if login fails
setGlue42RunningOff()Sets Glue42 Running Off
setGlue42RunningOn()Sets Glue42 Running On
showNotification(notification)Shows a notification in Glue42
showNotificationForAlert(alert)Displays Alert as a Glue42 Notification
startLiveData(glue42Report)Starts a "Live" report (ie. one which updates as the data ticks)
stopLiveData()Stops a "Live" report (ie. one which updates as the data ticks)

More Information