import React from 'react'; import { connect } from 'react-redux'; import PropTypes from 'prop-types'; import { Field, reduxForm, formValueSelector } from 'redux-form'; import { Trans, withNamespaces } from 'react-i18next'; import flow from 'lodash/flow'; import Tabs from '../../ui/Tabs'; import { toggleAllServices } from '../../../helpers/helpers'; import { renderField, renderRadioField, renderSelectField, renderServiceField, ipv4, mac, required } from '../../../helpers/form'; import { CLIENT_ID, SERVICES } from '../../../helpers/constants'; import './Service.css'; const settingsCheckboxes = [ { name: 'use_global_settings', placeholder: 'client_global_settings', }, { name: 'filtering_enabled', placeholder: 'block_domain_use_filters_and_hosts', }, { name: 'safebrowsing_enabled', placeholder: 'use_adguard_browsing_sec', }, { name: 'parental_enabled', placeholder: 'use_adguard_parental', }, { name: 'safesearch_enabled', placeholder: 'enforce_safe_search', }, ]; let Form = (props) => { const { t, handleSubmit, reset, change, pristine, submitting, clientIdentifier, useGlobalSettings, useGlobalServices, toggleClientModal, processingAdding, processingUpdating, } = props; return (
); }; Form.propTypes = { pristine: PropTypes.bool.isRequired, handleSubmit: PropTypes.func.isRequired, reset: PropTypes.func.isRequired, change: PropTypes.func.isRequired, submitting: PropTypes.bool.isRequired, toggleClientModal: PropTypes.func.isRequired, clientIdentifier: PropTypes.string, useGlobalSettings: PropTypes.bool, useGlobalServices: PropTypes.bool, t: PropTypes.func.isRequired, processingAdding: PropTypes.bool.isRequired, processingUpdating: PropTypes.bool.isRequired, }; const selector = formValueSelector('clientForm'); Form = connect((state) => { const clientIdentifier = selector(state, 'identifier'); const useGlobalSettings = selector(state, 'use_global_settings'); const useGlobalServices = selector(state, 'use_global_blocked_services'); return { clientIdentifier, useGlobalSettings, useGlobalServices, }; })(Form); export default flow([ withNamespaces(), reduxForm({ form: 'clientForm', enableReinitialize: true, }), ])(Form);