Mailspring/app/internal_packages/composer-signature/lib/signature-account-default-picker.jsx

39 lines
1.2 KiB
React
Raw Normal View History

Totally overhauled composer based on Slate (#524) * 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
2018-01-12 07:55:56 +08:00
import { React, PropTypes, Actions } from 'mailspring-exports';
import { MultiselectDropdown } from 'mailspring-component-kit';
export default class SignatureAccountDefaultPicker extends React.Component {
static propTypes = {
defaults: PropTypes.object,
signature: PropTypes.object,
accountsAndAliases: PropTypes.array,
};
_onToggleAccount = account => {
Actions.toggleAccount(account.email);
};
render() {
const { accountsAndAliases, defaults, signature } = this.props;
const isChecked = accountOrAlias => defaults[accountOrAlias.email] === signature.id;
const checked = accountsAndAliases.filter(isChecked);
return (
<div className="account-picker">
Default for:{' '}
<MultiselectDropdown
className="account-dropdown"
items={accountsAndAliases}
itemChecked={isChecked}
itemContent={accountOrAlias => accountOrAlias.email}
itemKey={a => a.id}
current={signature}
attachment={'right'}
buttonText={`${checked.length} Account${checked.length === 1 ? '' : 's'}`}
onToggleItem={this._onToggleAccount}
/>
</div>
);
}
}