From f29fa5ab52b8d4457a466097a5e223b4852d8a0d Mon Sep 17 00:00:00 2001 From: Mikita Siadykh Date: Fri, 24 Jan 2025 15:06:00 +0300 Subject: [PATCH] UIORGS-434 UIORGS-433 preparation for react 19 --- CHANGELOG.md | 2 ++ package.json | 1 - src/ContactPeople/ContactPerson/ContactPerson.js | 7 +------ .../ContactPersonAddresses.js | 12 +++++------- .../ContactPersonDetails/ContactPersonDetails.js | 15 ++++----------- .../ContactPersonEmails/ContactPersonEmails.js | 7 +------ .../ContactPersonItem/ContactPersonItem.js | 6 +----- .../ContactPersonPhones/ContactPersonPhones.js | 7 +------ .../ContactPersonURLs/ContactPersonURLs.js | 7 +------ .../OrganizationAccounts/OrganizationAccounts.js | 6 +----- .../OrganizationAgreements.js | 6 +----- .../OrganizationContactInfo.js | 6 +----- .../OrganizationContactPeople.js | 11 +++++------ .../OrganizationContactPeopleContainer.js | 6 +----- .../OrganizationDetails/OrganizationDetails.js | 9 ++------- .../OrganizationSummary/OrganizationSummary.js | 12 +++--------- .../OrganizationVendorInfo.js | 9 ++------- .../OrganizationForm/OrganizationForm.js | 8 +++----- .../OrganizationsList/OrganizationsList.js | 12 +++--------- src/Utils/CategoryDropdown/CategoryDropdown.js | 6 +----- .../EntitiesWithCollapsing.js | 13 +++++++------ .../components/FieldLanguage/FieldLanguage.js | 6 +----- src/contacts/EditContact/PhoneForm/PhoneForm.js | 6 +----- .../ContactAddresses/ContactAddresses.js | 6 +----- .../ViewContact/ContactDetails/ContactDetails.js | 15 ++++----------- .../ViewContact/ContactEmails/ContactEmails.js | 6 +----- .../ContactPhoneNumbers/ContactPhoneNumbers.js | 6 +----- .../ViewContact/ContactUrls/ContactUrls.js | 6 +----- src/contacts/ViewContact/ViewContact.js | 6 +----- 29 files changed, 57 insertions(+), 168 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d5bd8bc..40b9815a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ * Add "Duplicate" integration action to organization integration view. Refs UIORGS-441. * *BREAKING* Add number generator for vendor code including settings page. Refs UIORGS-336, UIORGS-337. * Enhancement help text on Settings > Organizations > Number generator options. Refs UIORGS-453. +* React v19: refactor away from react-test-renderer. Refs UIORGS-433. +* React v19: refactor away from default props for functional components. Refs UIORGS-434. ## [5.2.0](https://github.com/folio-org/ui-organizations/tree/v5.2.0) (2024-10-31) [Full Changelog](https://github.com/folio-org/ui-organizations/compare/v5.1.1...v5.2.0) diff --git a/package.json b/package.json index c0db48c3..816688f6 100644 --- a/package.json +++ b/package.json @@ -369,7 +369,6 @@ "react-router": "^5.2.0", "react-router-dom": "^5.2.0", "react-router-prop-types": "^1.0.4", - "react-test-renderer": "^16.5.1", "redux": "^4.0.0", "regenerator-runtime": "^0.13.3" }, diff --git a/src/ContactPeople/ContactPerson/ContactPerson.js b/src/ContactPeople/ContactPerson/ContactPerson.js index 5e4d78bf..aacb20d2 100644 --- a/src/ContactPeople/ContactPerson/ContactPerson.js +++ b/src/ContactPeople/ContactPerson/ContactPerson.js @@ -13,7 +13,7 @@ import ContactPersonPhones from './ContactPersonPhones'; import ContactPersonEmails from './ContactPersonEmails'; import ContactPersonURLs from './ContactPersonURLs'; -const ContactPerson = ({ contact, categories, withCollapsing }) => { +const ContactPerson = ({ contact, categories = [], withCollapsing = true }) => { const addresses = hydrateAddresses(categories, contact.addresses); const emails = mixCategories(categories, contact.emails); const phoneNumbers = mixCategories(categories, contact.phoneNumbers); @@ -61,9 +61,4 @@ ContactPerson.propTypes = { withCollapsing: PropTypes.bool, }; -ContactPerson.defaultProps = { - categories: [], - withCollapsing: true, -}; - export default ContactPerson; diff --git a/src/ContactPeople/ContactPerson/ContactPersonAddresses/ContactPersonAddresses.js b/src/ContactPeople/ContactPerson/ContactPersonAddresses/ContactPersonAddresses.js index ac04afca..ab03b565 100644 --- a/src/ContactPeople/ContactPerson/ContactPersonAddresses/ContactPersonAddresses.js +++ b/src/ContactPeople/ContactPerson/ContactPersonAddresses/ContactPersonAddresses.js @@ -8,7 +8,11 @@ import ContactPersonAddress from './ContactPersonAddress'; const renderAddressFn = (address, i) => ; -const ContactPersonAddresses = ({ addresses, withCollapsing, renderAddress }) => { +const ContactPersonAddresses = ({ + addresses = [], + withCollapsing = true, + renderAddress = renderAddressFn, +}) => { if (!addresses.length) return null; const renderHeader = () => ( @@ -39,10 +43,4 @@ ContactPersonAddresses.propTypes = { renderAddress: PropTypes.func, }; -ContactPersonAddresses.defaultProps = { - addresses: [], - withCollapsing: true, - renderAddress: renderAddressFn, -}; - export default ContactPersonAddresses; diff --git a/src/ContactPeople/ContactPerson/ContactPersonDetails/ContactPersonDetails.js b/src/ContactPeople/ContactPerson/ContactPersonDetails/ContactPersonDetails.js index 6897de63..4efcb980 100644 --- a/src/ContactPeople/ContactPerson/ContactPersonDetails/ContactPersonDetails.js +++ b/src/ContactPeople/ContactPerson/ContactPersonDetails/ContactPersonDetails.js @@ -8,13 +8,13 @@ import { LANG_LABEL_BY_CODE } from '@folio/stripes-acq-components'; import ContactPersonSection from '../ContactPersonSection'; const ContactPersonDetails = ({ - categories, + categories = '', firstName, - isInactive, - language, + isInactive = false, + language = '', lastName, notes, - prefix, + prefix = '', }) => { const renderHeader = () => ( @@ -86,11 +86,4 @@ ContactPersonDetails.propTypes = { notes: PropTypes.string, }; -ContactPersonDetails.defaultProps = { - prefix: '', - language: '', - isInactive: false, - categories: '', -}; - export default ContactPersonDetails; diff --git a/src/ContactPeople/ContactPerson/ContactPersonEmails/ContactPersonEmails.js b/src/ContactPeople/ContactPerson/ContactPersonEmails/ContactPersonEmails.js index 42c11c45..4191469b 100644 --- a/src/ContactPeople/ContactPerson/ContactPersonEmails/ContactPersonEmails.js +++ b/src/ContactPeople/ContactPerson/ContactPersonEmails/ContactPersonEmails.js @@ -39,7 +39,7 @@ const renderEmail = email => ( ); -const ContactPersonEmails = ({ emails, withCollapsing }) => { +const ContactPersonEmails = ({ emails = [], withCollapsing = true }) => { if (!emails.length) return null; const renderHeader = () => ( @@ -69,9 +69,4 @@ ContactPersonEmails.propTypes = { withCollapsing: PropTypes.bool, }; -ContactPersonEmails.defaultProps = { - emails: [], - withCollapsing: true, -}; - export default ContactPersonEmails; diff --git a/src/ContactPeople/ContactPerson/ContactPersonItem/ContactPersonItem.js b/src/ContactPeople/ContactPerson/ContactPersonItem/ContactPersonItem.js index 8a7e7db7..32dbab47 100644 --- a/src/ContactPeople/ContactPerson/ContactPersonItem/ContactPersonItem.js +++ b/src/ContactPeople/ContactPerson/ContactPersonItem/ContactPersonItem.js @@ -6,7 +6,7 @@ import { LayoutHeader } from '@folio/stripes/components'; import css from './ContactPersonItem.css'; -const ContactPersonItem = ({ children, isPrimary }) => { +const ContactPersonItem = ({ children, isPrimary = false }) => { const title = ; return ( @@ -24,8 +24,4 @@ ContactPersonItem.propTypes = { children: PropTypes.node.isRequired, }; -ContactPersonItem.defaultProps = { - isPrimary: false, -}; - export default ContactPersonItem; diff --git a/src/ContactPeople/ContactPerson/ContactPersonPhones/ContactPersonPhones.js b/src/ContactPeople/ContactPerson/ContactPersonPhones/ContactPersonPhones.js index 7bc54130..2185cac2 100644 --- a/src/ContactPeople/ContactPerson/ContactPersonPhones/ContactPersonPhones.js +++ b/src/ContactPeople/ContactPerson/ContactPersonPhones/ContactPersonPhones.js @@ -39,7 +39,7 @@ const renderPhone = phone => ( ); -const ContactPersonPhones = ({ phones, withCollapsing }) => { +const ContactPersonPhones = ({ phones = [], withCollapsing = true }) => { if (!phones.length) return null; const renderHeader = () => ( @@ -69,9 +69,4 @@ ContactPersonPhones.propTypes = { withCollapsing: PropTypes.bool, }; -ContactPersonPhones.defaultProps = { - phones: [], - withCollapsing: true, -}; - export default ContactPersonPhones; diff --git a/src/ContactPeople/ContactPerson/ContactPersonURLs/ContactPersonURLs.js b/src/ContactPeople/ContactPerson/ContactPersonURLs/ContactPersonURLs.js index 10a33666..f40a796e 100644 --- a/src/ContactPeople/ContactPerson/ContactPersonURLs/ContactPersonURLs.js +++ b/src/ContactPeople/ContactPerson/ContactPersonURLs/ContactPersonURLs.js @@ -50,7 +50,7 @@ const renderURL = url => ( ); -const ContactPersonURLs = ({ urls, withCollapsing }) => { +const ContactPersonURLs = ({ urls = [], withCollapsing = true }) => { if (!urls.length) return null; const renderHeader = () => ( @@ -80,9 +80,4 @@ ContactPersonURLs.propTypes = { withCollapsing: PropTypes.bool, }; -ContactPersonURLs.defaultProps = { - urls: [], - withCollapsing: true, -}; - export default ContactPersonURLs; diff --git a/src/Organizations/OrganizationDetails/OrganizationAccounts/OrganizationAccounts.js b/src/Organizations/OrganizationDetails/OrganizationAccounts/OrganizationAccounts.js index 6fd3eb79..293d36a0 100644 --- a/src/Organizations/OrganizationDetails/OrganizationAccounts/OrganizationAccounts.js +++ b/src/Organizations/OrganizationDetails/OrganizationAccounts/OrganizationAccounts.js @@ -4,7 +4,7 @@ import { FormattedMessage } from 'react-intl'; import { OrganizationAccount } from './OrganizationAccount'; -const OrganizationAccounts = ({ accounts }) => { +const OrganizationAccounts = ({ accounts = [] }) => { if (!accounts.length) { return (

@@ -40,8 +40,4 @@ OrganizationAccounts.propTypes = { accounts: PropTypes.arrayOf(PropTypes.object), }; -OrganizationAccounts.defaultProps = { - accounts: [], -}; - export default OrganizationAccounts; diff --git a/src/Organizations/OrganizationDetails/OrganizationAgreements/OrganizationAgreements.js b/src/Organizations/OrganizationDetails/OrganizationAgreements/OrganizationAgreements.js index 99f0397c..05b06147 100644 --- a/src/Organizations/OrganizationDetails/OrganizationAgreements/OrganizationAgreements.js +++ b/src/Organizations/OrganizationDetails/OrganizationAgreements/OrganizationAgreements.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import OrganizationAgreement from './OrganizationAgreement'; -const OrganizationAgreements = ({ agreements }) => { +const OrganizationAgreements = ({ agreements = [] }) => { if (!agreements.length) { return (

@@ -37,8 +37,4 @@ OrganizationAgreements.propTypes = { agreements: PropTypes.arrayOf(PropTypes.object), }; -OrganizationAgreements.defaultProps = { - agreements: [], -}; - export default OrganizationAgreements; diff --git a/src/Organizations/OrganizationDetails/OrganizationContactInfo/OrganizationContactInfo.js b/src/Organizations/OrganizationDetails/OrganizationContactInfo/OrganizationContactInfo.js index fad27865..240ec51b 100644 --- a/src/Organizations/OrganizationDetails/OrganizationContactInfo/OrganizationContactInfo.js +++ b/src/Organizations/OrganizationDetails/OrganizationContactInfo/OrganizationContactInfo.js @@ -25,7 +25,7 @@ const filterByCatId = (catId) => ({ categories = [] }) => { : categories.includes(catId); }; -const OrganizationContactInfo = ({ organization, vendorCategories }) => { +const OrganizationContactInfo = ({ organization, vendorCategories = [] }) => { if (!organization) { return (

@@ -82,8 +82,4 @@ OrganizationContactInfo.propTypes = { vendorCategories: PropTypes.arrayOf(PropTypes.object), }; -OrganizationContactInfo.defaultProps = { - vendorCategories: [], -}; - export default OrganizationContactInfo; diff --git a/src/Organizations/OrganizationDetails/OrganizationContactPeople/OrganizationContactPeople.js b/src/Organizations/OrganizationDetails/OrganizationContactPeople/OrganizationContactPeople.js index 0675c34f..be2a87bf 100644 --- a/src/Organizations/OrganizationDetails/OrganizationContactPeople/OrganizationContactPeople.js +++ b/src/Organizations/OrganizationDetails/OrganizationContactPeople/OrganizationContactPeople.js @@ -51,7 +51,11 @@ const getResultsFormatter = ({ intl, vendorCategories }) => ({ const alignRowProps = { alignLastColToEnd: true }; -const OrganizationContactPeople = ({ vendorCategories, contacts, openContact }) => { +const OrganizationContactPeople = ({ + vendorCategories = [], + contacts = [], + openContact, +}) => { const intl = useIntl(); const resultsFormatter = useMemo(() => { @@ -77,9 +81,4 @@ OrganizationContactPeople.propTypes = { openContact: PropTypes.func.isRequired, }; -OrganizationContactPeople.defaultProps = { - vendorCategories: [], - contacts: [], -}; - export default OrganizationContactPeople; diff --git a/src/Organizations/OrganizationDetails/OrganizationContactPeople/OrganizationContactPeopleContainer.js b/src/Organizations/OrganizationDetails/OrganizationContactPeople/OrganizationContactPeopleContainer.js index 574639eb..2eeba229 100644 --- a/src/Organizations/OrganizationDetails/OrganizationContactPeople/OrganizationContactPeopleContainer.js +++ b/src/Organizations/OrganizationDetails/OrganizationContactPeople/OrganizationContactPeopleContainer.js @@ -19,7 +19,7 @@ export const OrganizationContactPeopleContainer = ({ history, match, mutator, - vendorCategories, + vendorCategories = [], }) => { const organizationId = match.params.id; const [contacts, setContacts] = useState([]); @@ -87,8 +87,4 @@ OrganizationContactPeopleContainer.propTypes = { vendorCategories: PropTypes.arrayOf(PropTypes.object), }; -OrganizationContactPeopleContainer.defaultProps = { - vendorCategories: [], -}; - export default withRouter(stripesConnect(OrganizationContactPeopleContainer)); diff --git a/src/Organizations/OrganizationDetails/OrganizationDetails.js b/src/Organizations/OrganizationDetails/OrganizationDetails.js index fca690ff..7e98c310 100644 --- a/src/Organizations/OrganizationDetails/OrganizationDetails.js +++ b/src/Organizations/OrganizationDetails/OrganizationDetails.js @@ -88,9 +88,9 @@ const OrganizationDetails = ({ onViewExportLog, onUpdate, organization, - organizationCategories, + organizationCategories = [], integrationConfigs, - isBankingInformationEnabled, + isBankingInformationEnabled = false, organizationTypes, }) => { const stripes = useStripes(); @@ -483,9 +483,4 @@ OrganizationDetails.propTypes = { organizationTypes: PropTypes.arrayOf(PropTypes.object), }; -OrganizationDetails.defaultProps = { - organizationCategories: [], - isBankingInformationEnabled: false, -}; - export default OrganizationDetails; diff --git a/src/Organizations/OrganizationDetails/OrganizationSummary/OrganizationSummary.js b/src/Organizations/OrganizationDetails/OrganizationSummary/OrganizationSummary.js index ee57a036..e7ca922c 100644 --- a/src/Organizations/OrganizationDetails/OrganizationSummary/OrganizationSummary.js +++ b/src/Organizations/OrganizationDetails/OrganizationSummary/OrganizationSummary.js @@ -19,12 +19,12 @@ import { ORGANIZATION_SECTIONS } from '../../constants'; const OrganizationSummary = ({ acqUnitIds, - aliases, + aliases = [], code, description, erpCode, - isVendor, - isDonor, + isVendor = false, + isDonor = false, language, metadata, name, @@ -155,10 +155,4 @@ OrganizationSummary.propTypes = { organizationTypes: PropTypes.arrayOf(PropTypes.string), }; -OrganizationSummary.defaultProps = { - aliases: [], - isVendor: false, - isDonor: false, -}; - export default OrganizationSummary; diff --git a/src/Organizations/OrganizationDetails/OrganizationVendorInfo/OrganizationVendorInfo.js b/src/Organizations/OrganizationDetails/OrganizationVendorInfo/OrganizationVendorInfo.js index 66f4e2e3..0af32cb0 100644 --- a/src/Organizations/OrganizationDetails/OrganizationVendorInfo/OrganizationVendorInfo.js +++ b/src/Organizations/OrganizationDetails/OrganizationVendorInfo/OrganizationVendorInfo.js @@ -14,7 +14,7 @@ import { PAYMENT_METHOD_LABELS } from '@folio/stripes-acq-components'; const OrganizationVendorInfo = ({ paymentMethod, - vendorCurrencies, + vendorCurrencies = [], claimingInterval, discountPercent, expectedActivationInterval, @@ -25,7 +25,7 @@ const OrganizationVendorInfo = ({ taxId, taxPercentage, isLiableForVat, - isExportToAccounting, + isExportToAccounting = true, }) => { const vendorCurrenciesString = vendorCurrencies .map(currency => { @@ -161,9 +161,4 @@ OrganizationVendorInfo.propTypes = { isExportToAccounting: PropTypes.bool, }; -OrganizationVendorInfo.defaultProps = { - vendorCurrencies: [], - isExportToAccounting: false, -}; - export default OrganizationVendorInfo; diff --git a/src/Organizations/OrganizationForm/OrganizationForm.js b/src/Organizations/OrganizationForm/OrganizationForm.js index c8f9155a..769fd3c7 100644 --- a/src/Organizations/OrganizationForm/OrganizationForm.js +++ b/src/Organizations/OrganizationForm/OrganizationForm.js @@ -41,12 +41,14 @@ import { MAP_FIELD_ACCORDION, } from '../constants'; +const defaultPaneTitle = ; + const OrganizationForm = ({ pristine, submitting, handleSubmit, initialValues, - paneTitle, + paneTitle = defaultPaneTitle, cancelForm, values: formValues, form, @@ -275,10 +277,6 @@ OrganizationForm.propTypes = { form: PropTypes.object, }; -OrganizationForm.defaultProps = { - paneTitle: , -}; - export default stripesForm({ keepDirtyOnReinitialize: true, navigationCheck: true, diff --git a/src/Organizations/OrganizationsList/OrganizationsList.js b/src/Organizations/OrganizationsList/OrganizationsList.js index ce3135fa..0022008c 100644 --- a/src/Organizations/OrganizationsList/OrganizationsList.js +++ b/src/Organizations/OrganizationsList/OrganizationsList.js @@ -81,11 +81,11 @@ const getResultsFormatter = ({ search }) => ({ }); const OrganizationsList = ({ - isLoading, + isLoading = false, onNeedMoreData, resetData, - organizations, - organizationsCount, + organizations = [], + organizationsCount = 0, refreshList, resultsPaneTitleRef, pagination, @@ -279,10 +279,4 @@ OrganizationsList.propTypes = { pagination: PropTypes.object, }; -OrganizationsList.defaultProps = { - organizationsCount: 0, - isLoading: false, - organizations: [], -}; - export default OrganizationsList; diff --git a/src/Utils/CategoryDropdown/CategoryDropdown.js b/src/Utils/CategoryDropdown/CategoryDropdown.js index ba5b7803..26ae261f 100644 --- a/src/Utils/CategoryDropdown/CategoryDropdown.js +++ b/src/Utils/CategoryDropdown/CategoryDropdown.js @@ -12,7 +12,7 @@ import { filterCategories } from './utils'; function CategoryDropdown({ dropdownVendorCategories, name, - withLabel, + withLabel = true, ariaLabelledBy, onChange: onChangeProp, }) { @@ -72,8 +72,4 @@ CategoryDropdown.propTypes = { onChange: PropTypes.func, }; -CategoryDropdown.defaultProps = { - withLabel: true, -}; - export default CategoryDropdown; diff --git a/src/common/components/EntitiesWithCollapsing/EntitiesWithCollapsing.js b/src/common/components/EntitiesWithCollapsing/EntitiesWithCollapsing.js index 4f3a0da5..1371b71f 100644 --- a/src/common/components/EntitiesWithCollapsing/EntitiesWithCollapsing.js +++ b/src/common/components/EntitiesWithCollapsing/EntitiesWithCollapsing.js @@ -6,7 +6,13 @@ import { Button, Icon } from '@folio/stripes/components'; import css from './EntitiesWithCollapsing.css'; -const EntitiesWithCollapsing = ({ entities, renderEntity, showMoreLabel }) => { +const defaultShowMoreLabel = ; + +const EntitiesWithCollapsing = ({ + entities = [], + renderEntity, + showMoreLabel = defaultShowMoreLabel, +}) => { const [isCollapsed, setIsCollapsed] = useState(true); return ( @@ -39,9 +45,4 @@ EntitiesWithCollapsing.propTypes = { showMoreLabel: PropTypes.node, }; -EntitiesWithCollapsing.defaultProps = { - entities: [], - showMoreLabel: , -}; - export default EntitiesWithCollapsing; diff --git a/src/common/components/FieldLanguage/FieldLanguage.js b/src/common/components/FieldLanguage/FieldLanguage.js index 9c8392f5..8cb3dd70 100644 --- a/src/common/components/FieldLanguage/FieldLanguage.js +++ b/src/common/components/FieldLanguage/FieldLanguage.js @@ -9,7 +9,7 @@ import { } from '@folio/stripes-acq-components'; import { languageOptions } from '@folio/stripes/components'; -const FieldLanguage = ({ namePrefix, intl, withLabel, ...rest }) => { +const FieldLanguage = ({ namePrefix, intl, withLabel = true, ...rest }) => { const langOptions = useMemo(() => languageOptions(intl), [intl]); return ( @@ -28,8 +28,4 @@ FieldLanguage.propTypes = { withLabel: PropTypes.bool, }; -FieldLanguage.defaultProps = { - withLabel: true, -}; - export default injectIntl(FieldLanguage); diff --git a/src/contacts/EditContact/PhoneForm/PhoneForm.js b/src/contacts/EditContact/PhoneForm/PhoneForm.js index 23ad4d8d..7d21527f 100644 --- a/src/contacts/EditContact/PhoneForm/PhoneForm.js +++ b/src/contacts/EditContact/PhoneForm/PhoneForm.js @@ -79,7 +79,7 @@ const headLabels = ( ); -const PhoneForm = ({ categories, phoneTypesList }) => { +const PhoneForm = ({ categories, phoneTypesList = [] }) => { const addNewPhone = useCallback((fields) => createAddNewItem()(fields), []); const renderEmailFields = (elem, index, fields) => { @@ -168,8 +168,4 @@ PhoneForm.propTypes = { phoneTypesList: PropTypes.arrayOf(PropTypes.object), }; -PhoneForm.defaultProps = { - phoneTypesList: [], -}; - export default PhoneForm; diff --git a/src/contacts/ViewContact/ContactAddresses/ContactAddresses.js b/src/contacts/ViewContact/ContactAddresses/ContactAddresses.js index 23fde79b..02530111 100644 --- a/src/contacts/ViewContact/ContactAddresses/ContactAddresses.js +++ b/src/contacts/ViewContact/ContactAddresses/ContactAddresses.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types'; import ContactAddress from './ContactAddress'; -const ContactAddresses = ({ addresses }) => ( +const ContactAddresses = ({ addresses = [] }) => ( addresses.map((address, i) => ( )) @@ -13,8 +13,4 @@ ContactAddresses.propTypes = { addresses: PropTypes.arrayOf(PropTypes.object), }; -ContactAddresses.defaultProps = { - addresses: [], -}; - export default ContactAddresses; diff --git a/src/contacts/ViewContact/ContactDetails/ContactDetails.js b/src/contacts/ViewContact/ContactDetails/ContactDetails.js index 794fca2e..1db74c2e 100644 --- a/src/contacts/ViewContact/ContactDetails/ContactDetails.js +++ b/src/contacts/ViewContact/ContactDetails/ContactDetails.js @@ -10,13 +10,13 @@ import { import { LANG_LABEL_BY_CODE } from '@folio/stripes-acq-components'; const ContactDetails = ({ - categories, + categories = '', firstName, - isInactive, - language, + isInactive = false, + language = '', lastName, notes, - prefix, + prefix = '', }) => ( @@ -84,11 +84,4 @@ ContactDetails.propTypes = { notes: PropTypes.string, }; -ContactDetails.defaultProps = { - prefix: '', - language: '', - isInactive: false, - categories: '', -}; - export default ContactDetails; diff --git a/src/contacts/ViewContact/ContactEmails/ContactEmails.js b/src/contacts/ViewContact/ContactEmails/ContactEmails.js index 0bf37895..cb9de8fe 100644 --- a/src/contacts/ViewContact/ContactEmails/ContactEmails.js +++ b/src/contacts/ViewContact/ContactEmails/ContactEmails.js @@ -16,7 +16,7 @@ const columnMapping = { emailPrimary: , }; -const ContactEmails = ({ categories, emails }) => { +const ContactEmails = ({ categories, emails = [] }) => { const resultsFormatter = { email: ({ value }) => value, emailDescription: ({ description }) => description, @@ -41,8 +41,4 @@ ContactEmails.propTypes = { emails: PropTypes.arrayOf(PropTypes.object), }; -ContactEmails.defaultProps = { - emails: [], -}; - export default ContactEmails; diff --git a/src/contacts/ViewContact/ContactPhoneNumbers/ContactPhoneNumbers.js b/src/contacts/ViewContact/ContactPhoneNumbers/ContactPhoneNumbers.js index 7633f245..cf83d3d7 100644 --- a/src/contacts/ViewContact/ContactPhoneNumbers/ContactPhoneNumbers.js +++ b/src/contacts/ViewContact/ContactPhoneNumbers/ContactPhoneNumbers.js @@ -16,7 +16,7 @@ const columnMapping = { phonePrimary: , }; -const ContactPhoneNumbers = ({ categories, phoneNumbers }) => { +const ContactPhoneNumbers = ({ categories, phoneNumbers = [] }) => { const resultsFormatter = { phoneNumber: ({ phoneNumber }) => phoneNumber, phoneType: ({ type }) => type, @@ -41,8 +41,4 @@ ContactPhoneNumbers.propTypes = { phoneNumbers: PropTypes.arrayOf(PropTypes.object), }; -ContactPhoneNumbers.defaultProps = { - phoneNumbers: [], -}; - export default ContactPhoneNumbers; diff --git a/src/contacts/ViewContact/ContactUrls/ContactUrls.js b/src/contacts/ViewContact/ContactUrls/ContactUrls.js index 69330b78..f931e336 100644 --- a/src/contacts/ViewContact/ContactUrls/ContactUrls.js +++ b/src/contacts/ViewContact/ContactUrls/ContactUrls.js @@ -19,7 +19,7 @@ const columnMapping = { urlPrimary: , }; -const ContactUrls = ({ categories, urls }) => { +const ContactUrls = ({ categories, urls = [] }) => { const resultsFormatter = { url: url => (