mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-01-12 02:58:20 +08:00
1577 lines
40 KiB
HTML
1577 lines
40 KiB
HTML
|
|
<!DOCTYPE HTML>
|
|
<html lang="" >
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
|
|
<title>ComposerExtension · Nylas Mail Plugin SDK</title>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta name="description" content="">
|
|
<meta name="generator" content="GitBook 3.2.2">
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../gitbook/style.css">
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../gitbook/gitbook-plugin-anchors/plugin.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../styles/website.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<meta name="HandheldFriendly" content="true"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
|
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
|
|
<link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
|
|
|
|
|
|
<link rel="next" href="ContenteditableExtension.html" />
|
|
|
|
|
|
|
|
|
|
<link rel="shortcut icon" href='../img/favicon.png' type="image/x-icon">
|
|
|
|
|
|
|
|
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<div class="book">
|
|
<div class="book-summary">
|
|
|
|
|
|
<div id="book-search-input" role="search">
|
|
<input type="text" placeholder="Type to search" />
|
|
</div>
|
|
|
|
|
|
<nav role="navigation">
|
|
|
|
|
|
|
|
<ul class="summary">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="chapter " data-level="1.1" >
|
|
|
|
<span>
|
|
|
|
|
|
Nylas Mail SDK Guides
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.2" data-path="../">
|
|
|
|
<a href="../">
|
|
|
|
|
|
Introduction
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.3" data-path="../guides/GettingStarted.html">
|
|
|
|
<a href="../guides/GettingStarted.html">
|
|
|
|
|
|
Getting Started
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.4" data-path="../guides/GettingStarted-2.html">
|
|
|
|
<a href="../guides/GettingStarted-2.html">
|
|
|
|
|
|
Getting Started Part 2
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.5" data-path="../guides/PackageOverview.html">
|
|
|
|
<a href="../guides/PackageOverview.html">
|
|
|
|
|
|
Building a Package
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.6" data-path="../guides/InterfaceConcepts.html">
|
|
|
|
<a href="../guides/InterfaceConcepts.html">
|
|
|
|
|
|
Interface Concepts
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.7" data-path="../guides/React.html">
|
|
|
|
<a href="../guides/React.html">
|
|
|
|
|
|
UI Components
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.8" data-path="../guides/Architecture.html">
|
|
|
|
<a href="../guides/Architecture.html">
|
|
|
|
|
|
Application Architecture
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.9" data-path="../guides/Debugging.html">
|
|
|
|
<a href="../guides/Debugging.html">
|
|
|
|
|
|
Debugging Nylas Mail
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.10" data-path="../guides/Database.html">
|
|
|
|
<a href="../guides/Database.html">
|
|
|
|
|
|
Accessing the Database
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.11" data-path="../guides/ComposerExtensions.html">
|
|
|
|
<a href="../guides/ComposerExtensions.html">
|
|
|
|
|
|
Extending the Composer
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.12" data-path="../guides/WritingSpecs.html">
|
|
|
|
<a href="../guides/WritingSpecs.html">
|
|
|
|
|
|
Writing Tests
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.13" data-path="../guides/IntegrationTesting.html">
|
|
|
|
<a href="../guides/IntegrationTesting.html">
|
|
|
|
|
|
Integration Testing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.14" data-path="../guides/Windows.html">
|
|
|
|
<a href="../guides/Windows.html">
|
|
|
|
|
|
Developing on Windows
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.15" data-path="../guides/FAQ.html">
|
|
|
|
<a href="../guides/FAQ.html">
|
|
|
|
|
|
FAQ
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">Full Class Reference</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="2.1" >
|
|
|
|
<span>
|
|
|
|
|
|
General
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="2.1.1" data-path="Actions.html">
|
|
|
|
<a href="Actions.html">
|
|
|
|
|
|
Actions
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.1.2" data-path="BufferedProcess.html">
|
|
|
|
<a href="BufferedProcess.html">
|
|
|
|
|
|
BufferedProcess
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.1.3" data-path="ChangeFolderTask.html">
|
|
|
|
<a href="ChangeFolderTask.html">
|
|
|
|
|
|
ChangeFolderTask
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.1.4" data-path="ChangeLabelsTask.html">
|
|
|
|
<a href="ChangeLabelsTask.html">
|
|
|
|
|
|
ChangeLabelsTask
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.1.5" data-path="ChangeMailTask.html">
|
|
|
|
<a href="ChangeMailTask.html">
|
|
|
|
|
|
ChangeMailTask
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.1.6" data-path="Color.html">
|
|
|
|
<a href="Color.html">
|
|
|
|
|
|
Color
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.1.7" data-path="Config.html">
|
|
|
|
<a href="Config.html">
|
|
|
|
|
|
Config
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.1.8" data-path="Contenteditable.html">
|
|
|
|
<a href="Contenteditable.html">
|
|
|
|
|
|
Contenteditable
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.1.9" data-path="KeyCommandsRegion.html">
|
|
|
|
<a href="KeyCommandsRegion.html">
|
|
|
|
|
|
KeyCommandsRegion
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.1.10" data-path="NylasEnvConstructor.html">
|
|
|
|
<a href="NylasEnvConstructor.html">
|
|
|
|
|
|
NylasEnvConstructor
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.1.11" data-path="QueryResultSet.html">
|
|
|
|
<a href="QueryResultSet.html">
|
|
|
|
|
|
QueryResultSet
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.1.12" data-path="QuerySubscriptionPool.html">
|
|
|
|
<a href="QuerySubscriptionPool.html">
|
|
|
|
|
|
QuerySubscriptionPool
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.1.13" data-path="StyleManager.html">
|
|
|
|
<a href="StyleManager.html">
|
|
|
|
|
|
StyleManager
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.1.14" data-path="Task.html">
|
|
|
|
<a href="Task.html">
|
|
|
|
|
|
Task
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.1.15" data-path="TaskQueueStatusStore.html">
|
|
|
|
<a href="TaskQueueStatusStore.html">
|
|
|
|
|
|
TaskQueueStatusStore
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.1.16" data-path="ThemeManager.html">
|
|
|
|
<a href="ThemeManager.html">
|
|
|
|
|
|
ThemeManager
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.2" >
|
|
|
|
<span>
|
|
|
|
|
|
Component Kit
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="2.2.1" data-path="EventedIFrame.html">
|
|
|
|
<a href="EventedIFrame.html">
|
|
|
|
|
|
EventedIFrame
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.2.2" data-path="Flexbox.html">
|
|
|
|
<a href="Flexbox.html">
|
|
|
|
|
|
Flexbox
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.2.3" data-path="InjectedComponent.html">
|
|
|
|
<a href="InjectedComponent.html">
|
|
|
|
|
|
InjectedComponent
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.2.4" data-path="InjectedComponentSet.html">
|
|
|
|
<a href="InjectedComponentSet.html">
|
|
|
|
|
|
InjectedComponentSet
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.2.5" data-path="Menu.html">
|
|
|
|
<a href="Menu.html">
|
|
|
|
|
|
Menu
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.2.6" data-path="MenuItem.html">
|
|
|
|
<a href="MenuItem.html">
|
|
|
|
|
|
MenuItem
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.2.7" data-path="MenuNameEmailItem.html">
|
|
|
|
<a href="MenuNameEmailItem.html">
|
|
|
|
|
|
MenuNameEmailItem
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.2.8" data-path="MultiselectActionBar.html">
|
|
|
|
<a href="MultiselectActionBar.html">
|
|
|
|
|
|
MultiselectActionBar
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.2.9" data-path="MultiselectList.html">
|
|
|
|
<a href="MultiselectList.html">
|
|
|
|
|
|
MultiselectList
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.2.10" data-path="ResizableRegion.html">
|
|
|
|
<a href="ResizableRegion.html">
|
|
|
|
|
|
ResizableRegion
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.2.11" data-path="RetinaImg.html">
|
|
|
|
<a href="RetinaImg.html">
|
|
|
|
|
|
RetinaImg
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.2.12" data-path="Spinner.html">
|
|
|
|
<a href="Spinner.html">
|
|
|
|
|
|
Spinner
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.2.13" data-path="UnsafeComponent.html">
|
|
|
|
<a href="UnsafeComponent.html">
|
|
|
|
|
|
UnsafeComponent
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.3" >
|
|
|
|
<span>
|
|
|
|
|
|
Extensions
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter active" data-level="2.3.1" data-path="ComposerExtension.html">
|
|
|
|
<a href="ComposerExtension.html">
|
|
|
|
|
|
ComposerExtension
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.3.2" data-path="ContenteditableExtension.html">
|
|
|
|
<a href="ContenteditableExtension.html">
|
|
|
|
|
|
ContenteditableExtension
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.3.3" data-path="DraftStoreExtension.html">
|
|
|
|
<a href="DraftStoreExtension.html">
|
|
|
|
|
|
DraftStoreExtension
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.3.4" data-path="MessageStoreExtension.html">
|
|
|
|
<a href="MessageStoreExtension.html">
|
|
|
|
|
|
MessageStoreExtension
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.3.5" data-path="MessageViewExtension.html">
|
|
|
|
<a href="MessageViewExtension.html">
|
|
|
|
|
|
MessageViewExtension
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.4" >
|
|
|
|
<span>
|
|
|
|
|
|
Models
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="2.4.1" data-path="Contact.html">
|
|
|
|
<a href="Contact.html">
|
|
|
|
|
|
Contact
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.4.2" data-path="Message.html">
|
|
|
|
<a href="Message.html">
|
|
|
|
|
|
Message
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.4.3" data-path="Model.html">
|
|
|
|
<a href="Model.html">
|
|
|
|
|
|
Model
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.4.4" data-path="Thread.html">
|
|
|
|
<a href="Thread.html">
|
|
|
|
|
|
Thread
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.5" >
|
|
|
|
<span>
|
|
|
|
|
|
Stores
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="2.5.1" data-path="AccountStore.html">
|
|
|
|
<a href="AccountStore.html">
|
|
|
|
|
|
AccountStore
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.5.2" data-path="ComponentRegistry.html">
|
|
|
|
<a href="ComponentRegistry.html">
|
|
|
|
|
|
ComponentRegistry
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.5.3" data-path="ContactStore.html">
|
|
|
|
<a href="ContactStore.html">
|
|
|
|
|
|
ContactStore
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.5.4" data-path="FocusedContentStore.html">
|
|
|
|
<a href="FocusedContentStore.html">
|
|
|
|
|
|
FocusedContentStore
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.5.5" data-path="TaskQueue.html">
|
|
|
|
<a href="TaskQueue.html">
|
|
|
|
|
|
TaskQueue
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.5.6" data-path="WorkspaceStore.html">
|
|
|
|
<a href="WorkspaceStore.html">
|
|
|
|
|
|
WorkspaceStore
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.6" >
|
|
|
|
<span>
|
|
|
|
|
|
Database
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="2.6.1" data-path="Attribute.html">
|
|
|
|
<a href="Attribute.html">
|
|
|
|
|
|
Attribute
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.6.2" data-path="AttributeBoolean.html">
|
|
|
|
<a href="AttributeBoolean.html">
|
|
|
|
|
|
AttributeBoolean
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.6.3" data-path="AttributeCollection.html">
|
|
|
|
<a href="AttributeCollection.html">
|
|
|
|
|
|
AttributeCollection
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.6.4" data-path="AttributeDateTime.html">
|
|
|
|
<a href="AttributeDateTime.html">
|
|
|
|
|
|
AttributeDateTime
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.6.5" data-path="AttributeJoinedData.html">
|
|
|
|
<a href="AttributeJoinedData.html">
|
|
|
|
|
|
AttributeJoinedData
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.6.6" data-path="AttributeNumber.html">
|
|
|
|
<a href="AttributeNumber.html">
|
|
|
|
|
|
AttributeNumber
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.6.7" data-path="AttributeObject.html">
|
|
|
|
<a href="AttributeObject.html">
|
|
|
|
|
|
AttributeObject
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.6.8" data-path="AttributeServerId.html">
|
|
|
|
<a href="AttributeServerId.html">
|
|
|
|
|
|
AttributeServerId
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.6.9" data-path="AttributeString.html">
|
|
|
|
<a href="AttributeString.html">
|
|
|
|
|
|
AttributeString
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.6.10" data-path="DatabaseStore.html">
|
|
|
|
<a href="DatabaseStore.html">
|
|
|
|
|
|
DatabaseStore
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.6.11" data-path="Matcher.html">
|
|
|
|
<a href="Matcher.html">
|
|
|
|
|
|
Matcher
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.6.12" data-path="ModelQuery.html">
|
|
|
|
<a href="ModelQuery.html">
|
|
|
|
|
|
ModelQuery
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.6.13" data-path="SortOrder.html">
|
|
|
|
<a href="SortOrder.html">
|
|
|
|
|
|
SortOrder
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.7" >
|
|
|
|
<span>
|
|
|
|
|
|
Drafts
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="2.7.1" data-path="DraftChangeSet.html">
|
|
|
|
<a href="DraftChangeSet.html">
|
|
|
|
|
|
DraftChangeSet
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.7.2" data-path="DraftEditingSession.html">
|
|
|
|
<a href="DraftEditingSession.html">
|
|
|
|
|
|
DraftEditingSession
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.7.3" data-path="DraftStore.html">
|
|
|
|
<a href="DraftStore.html">
|
|
|
|
|
|
DraftStore
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.8" >
|
|
|
|
<span>
|
|
|
|
|
|
NylasEnv
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="2.8.1" data-path="PackageManager.html">
|
|
|
|
<a href="PackageManager.html">
|
|
|
|
|
|
PackageManager
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.9" >
|
|
|
|
<span>
|
|
|
|
|
|
Atom
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="divider"></li>
|
|
|
|
<li>
|
|
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
|
|
Published with GitBook
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
</nav>
|
|
|
|
|
|
</div>
|
|
|
|
<div class="book-body">
|
|
|
|
<div class="body-inner">
|
|
|
|
|
|
|
|
<div class="book-header" role="navigation">
|
|
|
|
|
|
<!-- Title -->
|
|
<h1>
|
|
<i class="fa fa-circle-o-notch fa-spin"></i>
|
|
<a href=".." >ComposerExtension</a>
|
|
</h1>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="page-wrapper" tabindex="-1" role="main">
|
|
<div class="page-inner">
|
|
|
|
<div id="book-search-results">
|
|
<div class="search-noresults">
|
|
|
|
<section class="normal markdown-section">
|
|
|
|
<h1 id="composerextension"><a name="composerextension" class="plugin-anchor" href="#composerextension"><i class="fa fa-link" aria-hidden="true"></i></a>ComposerExtension</h1>
|
|
<h2 id="summary"><a name="summary" class="plugin-anchor" href="#summary"><i class="fa fa-link" aria-hidden="true"></i></a>Summary</h2>
|
|
<p>To create ComposerExtensions that enhance the composer experience,
|
|
you should create objects that implement the interface defined at
|
|
{ComposerExtension}.</p>
|
|
<p>{ComposerExtension} extends {ContenteditableExtension}, so you can also
|
|
implement the methods defined there to further enhance the composer
|
|
experience.</p>
|
|
<p>To register your extension with the ExtensionRegistry, call
|
|
{ExtensionRegistry::Composer::register}. When your package is being
|
|
unloaded, you <em>must</em> call the corresponding
|
|
{ExtensionRegistry::Composer::unregister} to unhook your extension.</p>
|
|
<pre><code>coffee activate: -> ExtensionRegistry.Composer.register(MyExtension)
|
|
|
|
...
|
|
|
|
deactivate: -> ExtensionRegistry.Composer.unregister(MyExtension)
|
|
</code></pre><p><strong>Your ComposerExtension should be stateless</strong>. The user may have multiple
|
|
drafts open at any time, and the methods of your ComposerExtension may be
|
|
called for different drafts at any time. You should not expect that the
|
|
session you receive in <a href="#applyTransformsToDraft">applyTransformsToDraft</a> is for the same
|
|
draft you previously received in <a href="#warningsForSending">warningsForSending</a>, etc.</p>
|
|
<p>The ComposerExtension API does not currently expose any asynchronous or
|
|
{Promise}-based APIs, except for applyTransformsToDraft and unapplyTransformsToDraft,
|
|
which can optionally return a promsie. This will likely change in the future.
|
|
If you have a use-case for a ComposerExtension that is not possible with the current
|
|
API, please let us know.</p>
|
|
<ul>
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
<h3 id="class-methods"><a name="class-methods" class="plugin-anchor" href="#class-methods"><i class="fa fa-link" aria-hidden="true"></i></a>Class Methods</h3>
|
|
<h4 id="sendActions" class="function-name"><a name="sendActions" class="plugin-anchor" href="#sendActions"><i class="fa fa-link" aria-hidden="true"></i></a>
|
|
sendActions(<span class="args"><span class="arg">title</span><span class="arg">performSendAction</span><span class="arg">isEnabled</span><span class="arg">iconUrl</span></span>) <a href="#sendActions" class="link"></a>
|
|
</h4>
|
|
|
|
<div class="function-description markdown-from-sourecode">
|
|
<p>Allows the addition of new types of send actions such as "Send
|
|
Later"
|
|
|
|
Return an array of objects that adhere to the following spec. If the draft data
|
|
indicates that your action should not be available, then return null.</p>
|
|
</div>
|
|
|
|
<p><strong>Parameters</strong></p>
|
|
<table class="arguments">
|
|
<tr>
|
|
<th>Argument</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
<tr>
|
|
<td style="width:15%;">
|
|
<em>title</em>
|
|
</td>
|
|
<td class="markdown-from-sourecode">
|
|
|
|
A short, single string that is displayed to users when describing your component. It is used in the hover title text of your option in the dropdown menu. It is also used in the "Default Send Behavior" dropdown setting. If your string is selected, then the `core.sending.defaultSendType` will be set to your string and your option will appear as the default.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="width:15%;">
|
|
<em>performSendAction</em>
|
|
</td>
|
|
<td class="markdown-from-sourecode">
|
|
|
|
Callback for when your option is clicked as the primary action. The function will be passed `{draft}` as its only argument. It does not need to return anything. It may be asynchronous and likely queue Tasks.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="width:15%;">
|
|
<em>isEnabled</em>
|
|
</td>
|
|
<td class="markdown-from-sourecode">
|
|
|
|
Callback to determine if this send action should be rendered for the given draft. Takes a draft: A fully populated {Message} object that is about to be sent.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="width:15%;">
|
|
<em>iconUrl</em>
|
|
</td>
|
|
<td class="markdown-from-sourecode">
|
|
|
|
A custom icon to be placed in the Send button. SendAction extensions have the form "Send + {ICON}"
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<h4 id="warningsForSending" class="function-name"><a name="warningsForSending" class="plugin-anchor" href="#warningsForSending"><i class="fa fa-link" aria-hidden="true"></i></a>
|
|
warningsForSending(<span class="args"><span class="arg">draft</span></span>) <a href="#warningsForSending" class="link"></a>
|
|
</h4>
|
|
|
|
<div class="function-description markdown-from-sourecode">
|
|
<p>Inspect the draft, and return any warnings that need to be
|
|
displayed before the draft is sent. Warnings should be string phrases,
|
|
such as "without an attachment" that fit into a message of the form:
|
|
"Send #{phase1} and #{phase2}?"</p>
|
|
</div>
|
|
|
|
<p><strong>Parameters</strong></p>
|
|
<table class="arguments">
|
|
<tr>
|
|
<th>Argument</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
<tr>
|
|
<td style="width:15%;">
|
|
<em>draft</em>
|
|
</td>
|
|
<td class="markdown-from-sourecode">
|
|
|
|
A fully populated {Message} object that is about to be sent.
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Returns</strong></p>
|
|
<table class="arguments">
|
|
<tr>
|
|
<th>Return Values</th>
|
|
</tr>
|
|
<tr><td class="markdown-from-sourecode">Returns a list of warning strings, or an empty array if no warnings need
|
|
to be displayed.</td></tr>
|
|
</table>
|
|
<h4 id="prepareNewDraft" class="function-name"><a name="prepareNewDraft" class="plugin-anchor" href="#prepareNewDraft"><i class="fa fa-link" aria-hidden="true"></i></a>
|
|
prepareNewDraft(<span class="args"></span>) <a href="#prepareNewDraft" class="link"></a>
|
|
</h4>
|
|
|
|
<div class="function-description markdown-from-sourecode">
|
|
<p>Override prepareNewDraft to modify a brand new draft before it
|
|
is displayed in a composer. This is one of the only places in the
|
|
application where it's safe to modify the draft object you're given
|
|
directly to add participants to the draft, add a signature, etc.
|
|
|
|
By default, new drafts are considered `pristine`. If the user leaves the
|
|
composer without making any changes, the draft is discarded. If your
|
|
extension populates the draft in a way that makes it "populated" in a
|
|
valuable way, you should set `draft.pristine = false` so the draft
|
|
saves, even if no further changes are made.</p>
|
|
</div>
|
|
|
|
|
|
<h4 id="applyTransformsForSending" class="function-name"><a name="applyTransformsForSending" class="plugin-anchor" href="#applyTransformsForSending"><i class="fa fa-link" aria-hidden="true"></i></a>
|
|
applyTransformsForSending(<span class="args"><span class="arg">draft</span></span>) <a href="#applyTransformsForSending" class="link"></a>
|
|
</h4>
|
|
|
|
<div class="function-description markdown-from-sourecode">
|
|
<p>applyTransformsToDraft is called when a draft the user is editing
|
|
is saved to the server and/or sent. This method gives you an opportunity to
|
|
remove any annotations you've inserted into the draft body, apply final changes
|
|
to the body, etc.
|
|
|
|
Note that your extension /must/ be able to reverse the changes it applies to
|
|
the draft in `applyTransformsToDraft`. If the user re-opens the draft,
|
|
`unapplyTransformsToDraft` will be called and must restore the draft to it's
|
|
previous edit-ready state.
|
|
|
|
Examples:
|
|
|
|
This method should return a modified {Message} object, or a {Promise} which resolves
|
|
to a modified Message object.</p>
|
|
</div>
|
|
|
|
<strong>Parameters</strong>
|
|
<table class="arguments">
|
|
<tr>
|
|
<th>Argument</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
<tr>
|
|
<td style="width:15%;">
|
|
<em>draft</em>
|
|
</td>
|
|
<td class="markdown-from-sourecode">
|
|
|
|
A {Message} the user is about to finish editing.
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<h4 id="unapplyTransformsForSending" class="function-name"><a name="unapplyTransformsForSending" class="plugin-anchor" href="#unapplyTransformsForSending"><i class="fa fa-link" aria-hidden="true"></i></a>
|
|
unapplyTransformsForSending(<span class="args"></span>) <a href="#unapplyTransformsForSending" class="link"></a>
|
|
</h4>
|
|
|
|
<div class="function-description markdown-from-sourecode">
|
|
<p>unapplyTransformsToDraft should revert the changes made in
|
|
`applyTransformsToDraft`. See the documentation for that method for more
|
|
information.</p>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</section>
|
|
|
|
</div>
|
|
<div class="search-results">
|
|
<div class="has-results">
|
|
|
|
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
|
|
<ul class="search-results-list"></ul>
|
|
|
|
</div>
|
|
<div class="no-results">
|
|
|
|
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<a href="ContenteditableExtension.html" class="navigation navigation-next navigation-unique" aria-label="Next page: ContenteditableExtension">
|
|
<i class="fa fa-angle-right"></i>
|
|
</a>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<script>
|
|
var gitbook = gitbook || [];
|
|
gitbook.push(function() {
|
|
gitbook.page.hasChanged({"page":{"title":"ComposerExtension","level":"2.3.1","depth":2,"next":{"title":"ContenteditableExtension","level":"2.3.2","depth":2,"path":"classes/ContenteditableExtension.md","ref":"classes/ContenteditableExtension.md","articles":[]},"previous":{"title":"Extensions","level":"2.3","depth":1,"ref":"","articles":[{"title":"ComposerExtension","level":"2.3.1","depth":2,"path":"classes/ComposerExtension.md","ref":"classes/ComposerExtension.md","articles":[]},{"title":"ContenteditableExtension","level":"2.3.2","depth":2,"path":"classes/ContenteditableExtension.md","ref":"classes/ContenteditableExtension.md","articles":[]},{"title":"DraftStoreExtension","level":"2.3.3","depth":2,"path":"classes/DraftStoreExtension.md","ref":"classes/DraftStoreExtension.md","articles":[]},{"title":"MessageStoreExtension","level":"2.3.4","depth":2,"path":"classes/MessageStoreExtension.md","ref":"classes/MessageStoreExtension.md","articles":[]},{"title":"MessageViewExtension","level":"2.3.5","depth":2,"path":"classes/MessageViewExtension.md","ref":"classes/MessageViewExtension.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["search","lunr","-fontsettings","-sharing","anchors","github","editlink","favicon"],"root":"./docs_src","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"editlink":{"label":"Edit This Page","multilingual":false,"base":"https://github.com/nylas/nylas-mail-docs/tree/master"},"github":{"url":"https://github.com/nylas/nylas-mail-docs"},"favicon":{"shortcut":"/img/favicon.png"},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"anchors":{},"highlight":{},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"Nylas Mail Plugin SDK","links":{"sharing":{"facebook":false,"twitter":false}},"gitbook":"3.2.2"},"file":{"path":"classes/ComposerExtension.md","mtime":"2017-01-30T10:28:19.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-01-30T10:28:53.038Z"},"basePath":"..","book":{"language":""}});
|
|
});
|
|
</script>
|
|
</div>
|
|
|
|
|
|
<script src="../gitbook/gitbook.js"></script>
|
|
<script src="../gitbook/theme.js"></script>
|
|
|
|
|
|
<script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
|
|
|
|
|
|
|
|
<script src="../gitbook/gitbook-plugin-search/search.js"></script>
|
|
|
|
|
|
|
|
<script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
|
|
|
|
|
|
|
|
<script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
|
|
|
|
|
|
|
|
<script src="../gitbook/gitbook-plugin-github/plugin.js"></script>
|
|
|
|
|
|
|
|
<script src="../gitbook/gitbook-plugin-editlink/plugin.js"></script>
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|
|
|