mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-10-04 18:34:57 +08:00
* Switch to using Typescript instead of Babel * Switch all es6 / jsx file extensions to ts / tsx * Convert Utils to a TS module from module.exports style module * Move everything from module.exports to typescript exports * Define .d.ts files for mailspring-exports and component kit… Yes it seems this is the best option :( * Load up on those @types * Synthesize TS types from PropTypes for standard components * Add types to Model classes and move constructor constants to instance vars * 9800 => 7700 TS errors * 7700 => 5600 TS errors * 5600 => 5330 TS errors * 5330 => 4866 TS errors * 4866 => 4426 TS errors * 4426 => 2411 TS errors * 2411 > 1598 TS errors * 1598 > 769 TS errors * 769 > 129 TS errors * 129 > 22 TS errors * Fix runtime errors * More runtime error fixes * Remove support for custom .es6 file extension * Remove a few odd remaining references to Nylas * Don’t ship Typescript support in the compiled app for now * Fix issues in compiled app - module resolution in TS is case sensitive? * README updates * Fix a few more TS errors * Make “No Signature” option clickable + selectable * Remove flicker when saving file and reloading keymaps * Fix mail rule item height in preferences * Fix missing spacing in thread sharing popover * Fix scrollbar ticks being nested incorrectly * Add Japanese as a manually reviewed language * Prevent the thread list from “sticking” * Re-use Sheet when switching root tabs, prevent sidebar from resetting * Ensure specs run * Update package configuration to avoid shpping types * Turn eslint back on - we will opt-in to the TS rules one by one
53 lines
1.9 KiB
TypeScript
53 lines
1.9 KiB
TypeScript
/*
|
|
This package displays a "Vew on Github Button" whenever the message you're
|
|
looking at contains a "view it on Github" link.
|
|
|
|
This is the entry point of an Mailspring package. All packages must have a file
|
|
called `main` in their `/lib` folder.
|
|
|
|
The `activate` method of the package gets called when it is activated.
|
|
This happens during Mailspring's bootup. It can also happen when a user manually
|
|
enables your package.
|
|
|
|
Nearly all Mailspring packages have similar `activate` methods. The most common
|
|
action is to register a {React} component with the {ComponentRegistry}
|
|
|
|
See more details about how this works in the {ComponentRegistry}
|
|
documentation.
|
|
|
|
In this case the `ViewOnGithubButton` React Component will get rendered
|
|
whenever the `"MessageList:ThreadActionsToolbarButton"` region gets rendered.
|
|
|
|
Since the `ViewOnGithubButton` doesn't know who owns the
|
|
`"MessageList:ThreadActionsToolbarButton"` region, or even when or where it will be rendered, it
|
|
has to load its internal `state` from the `GithubStore`.
|
|
|
|
The `GithubStore` is responsible for figuring out what message you're
|
|
looking at, if it has a relevant Github link, and what that link is. Once
|
|
it figures that out, it makes that data available for the
|
|
`ViewOnGithubButton` to display.
|
|
*/
|
|
|
|
import { ComponentRegistry } from 'mailspring-exports';
|
|
import ViewOnGithubButton from './view-on-github-button';
|
|
|
|
/*
|
|
All packages must export a basic object that has at least the following 3
|
|
methods:
|
|
|
|
1. `activate` - Actions to take once the package gets turned on.
|
|
Pre-enabled packages get activated on Mailspring bootup. They can also be
|
|
activated manually by a user.
|
|
|
|
2. `deactivate` - Actions to take when a package gets turned off. This can
|
|
happen when a user manually disables a package.
|
|
*/
|
|
export function activate() {
|
|
ComponentRegistry.register(ViewOnGithubButton, {
|
|
role: 'ThreadActionsToolbarButton',
|
|
});
|
|
}
|
|
|
|
export function deactivate() {
|
|
ComponentRegistry.unregister(ViewOnGithubButton);
|
|
}
|