From f43237d1770363c45c633ecb91153b8822521334 Mon Sep 17 00:00:00 2001 From: Alexey Vasiliev Date: Sun, 27 Oct 2024 01:10:07 +0300 Subject: [PATCH] optimize lodash --- package.json | 2 +- src/common/components/configurationForm/index.jsx | 5 +++++ src/common/components/form/dropdown.jsx | 4 ++-- src/common/components/form/field.jsx | 4 ++-- yarn.lock | 2 +- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index dfddb9a..4acec83 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "formik": "^2.4.6", "highlight.js": "^11.10.0", "jest": "^29.7.0", - "lodash": "^4.17.21", + "lodash-es": "^4.17.21", "normalize.css": "^8.0.1", "postcss": "^8.4.47", "postcss-import": "^16.1.0", diff --git a/src/common/components/configurationForm/index.jsx b/src/common/components/configurationForm/index.jsx index 79072d4..37e00db 100644 --- a/src/common/components/configurationForm/index.jsx +++ b/src/common/components/configurationForm/index.jsx @@ -2,6 +2,7 @@ import React, { useEffect, useMemo } from 'react' import { useDispatch } from 'react-redux' import { useSearchParams } from 'react-router-dom' import classnames from 'classnames' +import { isEmpty } from 'lodash-es' import { Formik, Field, Form } from 'formik' import FormField from '@common/components/form/field' import FormDropdown from '@common/components/form/dropdown' @@ -123,6 +124,10 @@ const ConfigurationForm = () => { }, [searchParams]) const formParams = useMemo(() => { + if (isEmpty(urlParams)) { + return FORM_DEFAULTS + } + let vParams = urlParams try { diff --git a/src/common/components/form/dropdown.jsx b/src/common/components/form/dropdown.jsx index 6fa9e89..487cb77 100644 --- a/src/common/components/form/dropdown.jsx +++ b/src/common/components/form/dropdown.jsx @@ -1,12 +1,12 @@ import React from 'react' import PropTypes from 'prop-types' -import _camelCase from 'lodash/camelCase' +import { camelCase } from 'lodash-es' import Tooltip from './tooltip' import './dropdown.css' const FormDropdown = ({ label, tooltip, options, field, form: { touched, errors }, ...rest }) => { - const dropdownID = _camelCase(`${field.name}-id`) + const dropdownID = camelCase(`${field.name}-id`) const isError = touched[field.name] && errors[field.name] return ( diff --git a/src/common/components/form/field.jsx b/src/common/components/form/field.jsx index faefba8..f7523ed 100644 --- a/src/common/components/form/field.jsx +++ b/src/common/components/form/field.jsx @@ -1,12 +1,12 @@ import React from 'react' import PropTypes from 'prop-types' -import _camelCase from 'lodash/camelCase' +import { camelCase } from 'lodash-es' import Tooltip from './tooltip' import './field.css' const FormField = ({ label, tooltip, field, form: { touched, errors }, ...rest }) => { - const inputID = _camelCase(`${field.name}-id`) + const inputID = camelCase(`${field.name}-id`) const isError = touched[field.name] && errors[field.name] return ( diff --git a/yarn.lock b/yarn.lock index 821995a..0acc3e7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7600,7 +7600,7 @@ __metadata: formik: "npm:^2.4.6" highlight.js: "npm:^11.10.0" jest: "npm:^29.7.0" - lodash: "npm:^4.17.21" + lodash-es: "npm:^4.17.21" normalize.css: "npm:^8.0.1" postcss: "npm:^8.4.47" postcss-import: "npm:^16.1.0"