Mailspring/app/internal_packages_disabled/plugins/lib/preferences-plugins.jsx

47 lines
923 B
React
Raw Normal View History

import React from 'react';
import TabsStore from './tabs-store';
import Tabs from './tabs';
class PluginsView extends React.Component {
static displayName = 'PluginsView';
2016-05-07 07:06:16 +08:00
static containerStyles = {
minWidth: 500,
maxWidth: 99999,
2017-09-27 02:33:08 +08:00
};
2016-05-07 07:06:16 +08:00
constructor() {
super();
this.state = this._getStateFromStores();
}
componentDidMount() {
this._unsubscribers = [];
this._unsubscribers.push(TabsStore.listen(this._onChange));
}
componentWillUnmount() {
this._unsubscribers.forEach(unsubscribe => unsubscribe());
}
_getStateFromStores() {
2017-09-27 02:33:08 +08:00
return { tabIndex: TabsStore.tabIndex() };
}
_onChange = () => {
this.setState(this._getStateFromStores());
2017-09-27 02:33:08 +08:00
};
render() {
const PluginsTabComponent = Tabs[this.state.tabIndex].component;
return (
<div className="plugins-view">
<PluginsTabComponent />
</div>
);
}
}
export default PluginsView;