Customize.jsx 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import React, { Fragment } from 'react';
  2. import PropTypes from 'prop-types';
  3. import { withTranslation } from 'react-i18next';
  4. import AppContainer from '../../../services/AppContainer';
  5. import { createSubscribedElement } from '../../UnstatedUtils';
  6. import CustomizeLayoutSetting from './CustomizeLayoutSetting';
  7. import CustomizeBehaviorSetting from './CustomizeBehaviorSetting';
  8. import CustomizeFunctionSetting from './CustomizeFunctionSetting';
  9. import CustomizeHighlightSetting from './CustomizeHighlightSetting';
  10. import CustomizeCssSetting from './CustomizeCssSetting';
  11. import CustomizeScriptSetting from './CustomizeScriptSetting';
  12. class Customize extends React.Component {
  13. render() {
  14. const { t } = this.props;
  15. return (
  16. <Fragment>
  17. <div className="my-3">
  18. <CustomizeLayoutSetting />
  19. </div>
  20. <div className="my-3">
  21. <CustomizeBehaviorSetting />
  22. </div>
  23. <div className="my-3">
  24. <CustomizeFunctionSetting />
  25. </div>
  26. <div className="my-3">
  27. <CustomizeHighlightSetting />
  28. </div>
  29. <legend>{t('customize_page.custom_title')}</legend>
  30. {/* カスタムタイトルフォームの react componentをここで呼ぶ(GW-278) */}
  31. <div className="my-3">
  32. <CustomizeCssSetting />
  33. </div>
  34. <div className="my-3">
  35. <CustomizeScriptSetting />
  36. </div>
  37. </Fragment>
  38. );
  39. }
  40. }
  41. const CustomizeWrapper = (props) => {
  42. return createSubscribedElement(Customize, props, [AppContainer]);
  43. };
  44. Customize.propTypes = {
  45. t: PropTypes.func.isRequired, // i18next
  46. appContainer: PropTypes.instanceOf(AppContainer).isRequired,
  47. };
  48. export default withTranslation()(CustomizeWrapper);