Mailspring/app/internal_packages/activity/lib/main.es6
Ben Gotow 251d7c44d1
Activity Summary / Insights v1 🎉
* Initial commit

* SVG-based graph components

* Add histogram, pull data into graphs

* Loading animation, timespan descriptions

* Improvements to read receipt / link tracking section

* Initial pass at subject line analysis

* Fixes to subject-line stats

* Fix theme `ui-variables` include paths

* Add “Share this report” button

* Add “Learn More” button

* Make it more clear how to edit your shortcuts

* Merge activity-list and new activity-dashboard, move in sidebar
2017-11-07 20:05:25 +01:00

60 lines
1.8 KiB
JavaScript

import { ComponentRegistry, WorkspaceStore, Actions, ExtensionRegistry } from 'mailspring-exports';
import { HasTutorialTip } from 'mailspring-component-kit';
import ActivityMailboxPerspective from './activity-mailbox-perspective';
import ActivityEventStore from './activity-event-store';
import ActivityListButton from './list/activity-list-button';
import Root from './dashboard/root';
const ActivityListButtonWithTutorialTip = HasTutorialTip(ActivityListButton, {
title: 'Open and link tracking',
instructions: "If you've enabled link tracking or read receipts, those events will appear here!",
});
const AccountSidebarExtension = {
name: 'Activity',
sidebarItem(accountIds) {
return {
id: 'Activity',
name: 'Activity',
iconName: 'activity.png',
perspective: new ActivityMailboxPerspective(accountIds),
};
},
};
export function activate() {
// summary view
ExtensionRegistry.AccountSidebar.register(AccountSidebarExtension);
WorkspaceStore.defineSheet(
'Activity',
{ root: true },
{ list: ['RootSidebar', 'ActivityContent'] }
);
ComponentRegistry.register(Root, {
location: WorkspaceStore.Location.ActivityContent,
});
const { perspective } = AppEnv.savedState || {};
if (perspective && perspective.type === 'ActivityMailboxPerspective') {
Actions.selectRootSheet(WorkspaceStore.Sheet.Activity);
}
// list view in top left
ComponentRegistry.register(ActivityListButtonWithTutorialTip, {
location: WorkspaceStore.Location.RootSidebar.Toolbar,
});
ActivityEventStore.activate();
}
export function deactivate() {
// summary view
ExtensionRegistry.AccountSidebar.unregister(AccountSidebarExtension);
ComponentRegistry.unregister(Root);
// list view in top left
ComponentRegistry.unregister(ActivityListButtonWithTutorialTip);
}