import React from 'react'; import { connect } from 'react-redux'; import PropTypes from 'prop-types'; import { Field, FieldArray, reduxForm, formValueSelector } from 'redux-form'; import { Trans, withNamespaces } from 'react-i18next'; import flow from 'lodash/flow'; import i18n from '../../../i18n'; import Tabs from '../../ui/Tabs'; import { toggleAllServices } from '../../../helpers/helpers'; import { renderField, renderGroupField, renderSelectField, renderServiceField, } from '../../../helpers/form'; import { 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', }, ]; const validate = (values) => { const errors = {}; const { name, ids } = values; if (!name || !name.length) { errors.name = i18n.t('form_error_required'); } if (ids && ids.length) { const idArrayErrors = []; ids.forEach((id, idx) => { if (!id || !id.length) { idArrayErrors[idx] = i18n.t('form_error_required'); } }); if (idArrayErrors.length) { errors.ids = idArrayErrors; } } return errors; }; const renderFields = (placeholder, buttonTitle) => function cell(row) { const { fields, meta: { error }, } = row; return (