import React from 'react'; import PropTypes from 'prop-types'; import { withTranslation } from 'react-i18next'; import { createSubscribedElement } from '../../UnstatedUtils'; import AppContainer from '../../../services/AppContainer'; import AdminCustomizeContainer from '../../../services/AdminCustomizeContainer'; class CustomizeLayoutSetting extends React.Component { growiLayout() { const { adminCustomizeContainer } = this.props; return (

adminCustomizeContainer.switchLayoutType('growi')} />

Simple and Clear

); } kibelaLayout() { const { adminCustomizeContainer } = this.props; return (

adminCustomizeContainer.switchLayoutType('kibela')} />

Easy Viewing Structure

); } classicLayout() { const { adminCustomizeContainer } = this.props; return (

adminCustomizeContainer.switchLayoutType('crowi')} />

Separated Functions

); } render() { const { t } = this.props; return (
{this.growiLayout()} {this.kibelaLayout()} {this.classicLayout()}
{ t('Update') }
); } } const CustomizeLayoutSettingWrapper = (props) => { return createSubscribedElement(CustomizeLayoutSetting, props, [AppContainer, AdminCustomizeContainer]); }; CustomizeLayoutSetting.propTypes = { t: PropTypes.func.isRequired, // i18next appContainer: PropTypes.instanceOf(AppContainer).isRequired, adminCustomizeContainer: PropTypes.instanceOf(AdminCustomizeContainer).isRequired, }; export default withTranslation()(CustomizeLayoutSettingWrapper);