mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-11-11 18:32:20 +08:00
1a3cca8d0a
* Remove the composer contenteditable, replace with basic <textarea> * Beginning broader cleanup of draft session * DraftJS composer with color, style support * Serialization/unserialization of basic styles, toolbar working * WIP * Switch to draft-js-plugins approach, need to revisit HTML * Move HTML conversion functionality into plugins * Add spellcheck context menu to editor * Initial work on quoted text * Further work on quoted text * BLOCK approach * Entity approach - better, does not bump out to top level * Hiding and showing quoted text via CSS * Get rid of ability to inject another subject line component * Clean up specs, DraftFactory to ES6 * Remove old initial focus hack * Fix focusing, initial text selection * Remove participant “collapsing” support, it can be confusing * Correctly terminate links on carriage returns * Initial signature support, allow removal of uneditable blocks * Sync body string with body editorstate * Simplify draft editor session, finish signatures * Templates * Minor fixes * Simplify link/open tracking, ensure it works * Reorg composer, rework template editor * Omg the slowness is all the stupid emoji button * Polish and small fixes * Performance improvements, new templates UI * Don’t assume nodes are elements * Fix for sending drafts twice due to back-to-back saves * Fix order of operations on app quit to save drafts reliably * Improve DraftJS-Convert whitespace handling * Use contentID throughout attachment lifecycle * Try to fix images * Switch to Slate instead of DraftJS… much better * Fix newline handling * Bug fixes * Cleanup * Finish templates plugin * Clean up text editing / support for Gmail email styles * Support for color + size on the same node, clean trailing whitespace * Restore emoji typeahead / emoji picker * Fix scrolling in template editor * Fix specs * Fix newlines * Re-implement spellcheck to be faster * Make spellcheck decorator changes invisible to the undo/redo stack * Remove comment * Polish themplates panel * Fix #521
78 lines
1.9 KiB
JavaScript
78 lines
1.9 KiB
JavaScript
import React from 'react';
|
|
import PropTypes from 'prop-types';
|
|
import { Actions } from 'mailspring-exports';
|
|
import { RetinaImg } from 'mailspring-component-kit';
|
|
import Fields from './fields';
|
|
|
|
export default class ComposerHeaderActions extends React.Component {
|
|
static displayName = 'ComposerHeaderActions';
|
|
|
|
static propTypes = {
|
|
headerMessageId: PropTypes.string.isRequired,
|
|
enabledFields: PropTypes.array.isRequired,
|
|
onShowAndFocusField: PropTypes.func.isRequired,
|
|
};
|
|
|
|
_onPopoutComposer = () => {
|
|
Actions.composePopoutDraft(this.props.headerMessageId);
|
|
};
|
|
|
|
render() {
|
|
const items = [];
|
|
|
|
if (!this.props.enabledFields.includes(Fields.Cc)) {
|
|
items.push(
|
|
<span
|
|
className="action show-cc"
|
|
key="cc"
|
|
onClick={() => this.props.onShowAndFocusField(Fields.Cc)}
|
|
>
|
|
Cc
|
|
</span>
|
|
);
|
|
}
|
|
|
|
if (!this.props.enabledFields.includes(Fields.Bcc)) {
|
|
items.push(
|
|
<span
|
|
className="action show-bcc"
|
|
key="bcc"
|
|
onClick={() => this.props.onShowAndFocusField(Fields.Bcc)}
|
|
>
|
|
Bcc
|
|
</span>
|
|
);
|
|
}
|
|
|
|
if (!this.props.enabledFields.includes(Fields.Subject)) {
|
|
items.push(
|
|
<span
|
|
className="action show-subject"
|
|
key="subject"
|
|
onClick={() => this.props.onShowAndFocusField(Fields.Subject)}
|
|
>
|
|
Subject
|
|
</span>
|
|
);
|
|
}
|
|
|
|
if (!AppEnv.isComposerWindow()) {
|
|
items.push(
|
|
<span
|
|
className="action show-popout"
|
|
key="popout"
|
|
title="Popout composer…"
|
|
onClick={this._onPopoutComposer}
|
|
>
|
|
<RetinaImg
|
|
name="composer-popout.png"
|
|
mode={RetinaImg.Mode.ContentIsMask}
|
|
style={{ position: 'relative', top: '-2px' }}
|
|
/>
|
|
</span>
|
|
);
|
|
}
|
|
|
|
return <div className="composer-header-actions">{items}</div>;
|
|
}
|
|
}
|