import React from 'react'; import { useTranslation } from 'next-i18next'; import PropTypes from 'prop-types'; import { defaultSchema as sanitizeDefaultSchema } from 'rehype-sanitize'; import AdminMarkDownContainer from '~/client/services/AdminMarkDownContainer'; import { withUnstatedContainers } from '../../UnstatedUtils'; class WhitelistInput extends React.Component { constructor(props) { super(props); this.tagWhitelist = React.createRef(); this.attrWhitelist = React.createRef(); this.tags = sanitizeDefaultSchema.tagNames; this.attrs = JSON.stringify(sanitizeDefaultSchema.attributes); this.onClickRecommendTagButton = this.onClickRecommendTagButton.bind(this); this.onClickRecommendAttrButton = this.onClickRecommendAttrButton.bind(this); } onClickRecommendTagButton() { this.tagWhitelist.current.value = this.tags; this.props.adminMarkDownContainer.setState({ tagWhitelist: this.tags }); } onClickRecommendAttrButton() { this.attrWhitelist.current.value = this.attrs; this.props.adminMarkDownContainer.setState({ attrWhitelist: this.attrs }); } render() { const { t, adminMarkDownContainer } = this.props; return ( <>