2.2.1 • Published 9 months ago

@atlaskit/editor-plugin-engagement-platform v2.2.1

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
9 months ago

Editor Engagement Platform Plugin

This plugin allows interaction with the Atlassian Engagement Platform within the editor. It provides functionalities to start and stop engagement messages, as well as to check the state of these messages.

Note: This component is designed for internal Atlassian development. External contributors will be able to use this component but will not be able to submit issues.

Features

  • Start Message: Start an engagement message with a given ID and optional variation ID.
  • Stop Message: Stop an engagement message with a given ID.

Installation

Internal use only

To install the plugin, use yarn:

yarn add @atlassian/editor-plugin-engagement-platform

Usage

Internal use only

To use the plugin, import it and include it in your editor setup:

import { engagementPlatformPlugin } from '@atlassian/editor-plugin-engagement-platform';

const coordinationClient = useCoordinationClient()

const { preset, editorApi } = usePreset(() => {
	return universalPreset.add([
		engagementPlatformPlugin,
		{ coordinationClient },
	]);
}, [universalPreset, coordinationClient]);

To get the current state of an engagement message, you can use the following code:

function isMessageActive(messageId: string): boolean {
	const messageStates = api.engagementPlatform.sharedState.currentState()?.messageStates ?? {};
	return !!messageStates[messageId];
}

Detailed docs and example usage can be found here.

API

api.engagementPlatform.actions.startMessage(messageId: string, variationId?: string): Promise<boolean>

Starts an engagement message with the given ID and optional variation ID.

api.engagementPlatform.actions.stopMessage(messageId: string): Promise<boolean>

Stops an engagement message with the given ID.

Please see Atlaskit - Editor Engagement Platform Plugin for documentation and examples for this package.

Configuration

The plugin requires a configuration object with the following structure:

interface EngagementPlatformPluginConfig {
	coordinationClient: CoordinationClientType;
}

Support

For internal Atlassian, visit the slack channel #help-editor for support or visit go/editor-help to submit a bug.

License

Please see Atlassian Frontend - License for more licensing information.