Constructors
new LucidCardIntegration()
new LucidCardIntegration(client): LucidCardIntegration
Parameters
| Parameter | Type |
|---|---|
client | EditorClient |
Returns
Properties
addCard?
optional addCard: object;
If specified, allow the user to create new cards and convert other shapes to cards
createCardData()
createCardData: (input) => Promise<object>;
Given the values entered by the user into input fields, create a new data record to represent the
created card, and return information about that record.
Parameters
| Parameter | Type |
|---|---|
input | Map<string, SerializedFieldType> |
Returns
Promise<object>
collection
collection: CollectionProxy;
primaryKey
primaryKey: string;
getInputFields()
getInputFields: (inputSoFar) => Promise<ExtensionCardFieldDefinition[]>;
Given the values entered by the user so far into input fields, return the list of all input fields
to display in the create-card form.
Parameters
| Parameter | Type |
|---|---|
inputSoFar | Map<string, SerializedFieldType> |
Returns
Promise<ExtensionCardFieldDefinition[]>
autoSync?
optional autoSync: CardIntegrationAutoSyncConfig;
If specified, allows the user to use query to sync with timelines.
canEditItems()?
Experimental
optional canEditItems: (items) => Promise<Map<string, UserItemEditPermissions>>;
If specified, allows the extension to check whether the user can edit the given items.
Returns a Map with per-item permission results, keyed by item primary key.
Parameters
| Parameter | Type |
|---|---|
items | DataItemProxy[] |
Returns
Promise<Map<string, UserItemEditPermissions>>
client
protected readonly client: EditorClient;
dataConnectorName
abstract dataConnectorName: string;
The name of the data connector associated with the card integration.
dependencyMappingPhrases?
optional dependencyMappingPhrases: DependencyMappingPhrasesType;
If specified, the text phrases to show in the dependency mapping UI.
If not specified, dependency mapping for this integration uses the default fallback phrases.
fieldConfiguration
abstract fieldConfiguration: ExtensionFieldConfiguration;
getAdditionalPanelTabsForCard?
Experimental
optional getAdditionalPanelTabsForCard: AdditionalPanelTabsCallback;
If specified, allows for cards to display additional details,
via tabs that are configured by the extension and displayed in the card details panel.
getDefaultConfig()
abstract getDefaultConfig: (dataSource) => Promise<DeepWritableObject<object>>;
Provide the default configuration for a new import
Parameters
| Parameter | Type |
|---|---|
dataSource | DataSourceProxy |
Returns
Promise<DeepWritableObject<object>>
iconConfiguration?
optional iconConfiguration: object;
fieldLabelIconsCallback?
optional fieldLabelIconsCallback: string;
Optional. Callback function to fetch icons that show next to the field labels in the card details panel
lightIconUrl?
optional lightIconUrl: string;
Optional. URL for an alternate light icon to show in components with a colored background.
If not provided, the primaryIconUrl will be used. Should be at least 24x24.
primaryIconUrl
primaryIconUrl: string;
URL for the primary icon to display in most components, usually on a white background.
Should be at least 24x24.
iconUrl
abstract iconUrl: string;
Deprecated
Use iconConfiguration.primaryIconUrl.
URL for an icon to display in toolbars, etc. Should be at least 24x24.
importCardFromPastedLink?
optional importCardFromPastedLink: object;
A definition of the details required to import a card onto the canvas from a pasted url. The callback returns
necessary data to import cards onto the canvas, or undefined if the link couldn't be interpreted.
If the domain has already been registered by another card integration for importing cards from pasted links, this
callback will be prevented from being registered.
callback
callback: ImportCardFromPastedLinkCallback;
domain
domain: string;
importDependencies()?
optional importDependencies: (dependenciesForItems) => Promise<ImportResult[]>;
This allows the user to import cards, by selecting dependencies of a linked item on the canvas.
Parameters
| Parameter | Type |
|---|---|
dependenciesForItems | DependenciesForItems |
Returns
Promise<ImportResult[]>
importFromSerializedFields()?
optional importFromSerializedFields: (data) => Promise<ImportCardFromDetails>;
If specified, allows users to import cards by copying a card on one board and pasting it to another board.
This function should interface with SerializedFields to get the data from the copied card necessary to trigger
the import.
Parameters
| Parameter | Type |
|---|---|
data | SerializedFields[] |
Returns
Promise<ImportCardFromDetails>
importModal?
optional importModal: LucidCardIntegrationCustomImportModal | LucidCardIntegrationStandardImportModal;
This allows the user to import cards by selecting items from within a modal. You can either create a custom
import modal or the standard import modal can be used.
itemCollectionLabel
readonly itemCollectionLabel: string = 'project';
Label used to identify a collection of cards worth of data ("project" is the default if you don't
override and provide a different label)
itemLabel
abstract itemLabel: string;
Label used to identify one card worth of data, e.g. "Jira task"
itemsLabel
abstract itemsLabel: string;
Label used to identify multiple cards worth of data, e.g. "Jira tasks"
label
abstract label: string;
Label used to identify the integration, e.g. "Jira", which will be used in menu items, etc.
Should be unique within any given extension.
searchUserByName?
optional searchUserByName: boolean;
Deprecated
Use userSearchCallback instead. The search strategy should be handled internally by the callback implementation.
If we are only able to search by name and not email in the card integration (ex: for JDC)
showDependencyMapping?
optional showDependencyMapping: boolean;
showIntro()?
optional showIntro: () => void;
Deprecated
Use AuthorizationFlowHandlerRegistry.registerAuthorizationFlowHandler.
WARNING: Currently unused and does nothing.
Returns
void
tagCallback?
Experimental
optional tagCallback: string;
Optional. Callback function to derive a tag for any given card.
A tag is a combination of a text label (preferably short, less than two words) and an icon,
which can provide extra user-facing information in the card details panel.
textStyle?
optional textStyle: Partial<TextStyle>;
The default text style to use on cards created as part of this integration.
These can be overridden by values in getDefaultConfig().fieldStyles for
individual fields that should have different styles.
userSearchCallback?
optional userSearchCallback: string;
This is used to search for users in the card integration. It returns an additional email field of the user if available.
Methods
showCardImport()
showCardImport(name): ImportCardsResult
Parameters
| Parameter | Type |
|---|---|
name | string |