/* eslint-disable react/no-unused-state */ /* eslint-disable max-len */ import React from 'react'; import PropTypes from 'prop-types'; import { withTranslation } from 'react-i18next'; import { createSubscribedElement } from '../../UnstatedUtils'; import AppContainer from '../../../services/AppContainer'; import MarkDownSettingContainer from '../../../services/MarkDownSettingContainer'; import WhiteListInput from './WhiteListInput'; class XssForm extends React.Component { constructor(props) { super(props); this.onChangeEnableXss = this.onChangeEnableXss.bind(this); this.onChangeXssOption = this.onChangeXssOption.bind(this); this.onChangeTagWhiteList = this.onChangeTagWhiteList.bind(this); this.onChangeAttrWhiteList = this.onChangeAttrWhiteList.bind(this); this.onClickSubmit = this.onClickSubmit.bind(this); } onChangeEnableXss() { this.setState({ isEnabledXss: !this.state.isEnabledXss }); } onChangeXssOption(value) { this.setState({ XssOption: value }); } onChangeTagWhiteList(value) { this.setState({ tagWhiteList: value }); } onChangeAttrWhiteList(value) { this.setState({ attrWhiteList: value }); } async onClickSubmit() { // TODO GW-303 create apiV3 of update setting } xssOptions() { const { t } = this.props; return (
{ this.onChangeXssOption(1) }} />
{ this.onChangeXssOption(2) }} />
{ this.onChangeXssOption(3) }} />
); } render() { const { t, markDownSettingContainer } = this.props; return (
{markDownSettingContainer.state.isEnabledXss && this.xssOptions()}
{ t('Update') }
); } } const XssFormWrapper = (props) => { return createSubscribedElement(XssForm, props, [AppContainer, MarkDownSettingContainer]); }; XssForm.propTypes = { t: PropTypes.func.isRequired, // i18next appContainer: PropTypes.instanceOf(AppContainer).isRequired, markDownSettingContainer: PropTypes.instanceOf(MarkDownSettingContainer).isRequired, }; export default withTranslation()(XssFormWrapper);