
META-INF.resources.js.components.ObjectField.Tabs.BasicInfo.BasicInfoContainer.tsx Maven / Gradle / Ivy
The newest version!
/**
* SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com
* SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
*/
import classNames from 'classnames';
import {InputLocalized} from 'frontend-js-components-web';
import React from 'react';
import {updateFieldSettings} from '../../../../utils/fieldSettings';
import ObjectFieldFormBase, {
ObjectFieldErrors,
} from '../../ObjectFieldFormBase';
import {AttachmentProperties} from './AttachmentProperties';
import {AggregationFilters} from './BasicInfoTab';
import {MaxLengthProperties} from './MaxLengthProperties';
import '../../EditObjectFieldContent.scss';
interface BasicInfoContainerProps {
baseResourceURL: string;
creationLanguageId2?: Liferay.Language.Locale;
dbObjectFieldRequired?: boolean;
errors: ObjectFieldErrors;
handleChange: React.ChangeEventHandler;
modelBuilder?: boolean;
objectDefinition?: ObjectDefinition;
objectFieldBusinessTypes: ObjectFieldBusinessType[];
objectRelationshipId: number;
onSubmit?: () => void;
readOnly: boolean;
setAggregationFilters: (values: AggregationFilters[]) => void;
setDbObjectFieldRequired?: (value: boolean) => void;
setObjectDefinitionExternalReferenceCode2: (value: string) => void;
setValues: (values: Partial) => void;
values: Partial;
}
export function BasicInfoContainer({
baseResourceURL,
creationLanguageId2,
dbObjectFieldRequired,
errors,
handleChange,
modelBuilder = false,
objectDefinition,
objectFieldBusinessTypes,
objectRelationshipId,
onSubmit,
readOnly,
setAggregationFilters,
setDbObjectFieldRequired,
setObjectDefinitionExternalReferenceCode2,
setValues,
values,
}: BasicInfoContainerProps) {
const disableFieldFormBase = !!(
objectDefinition?.status?.label === 'approved' ||
values.system ||
values.relationshipType
);
const handleSettingsChange = ({name, value}: ObjectFieldSetting) =>
setValues({
objectFieldSettings: updateFieldSettings(
values.objectFieldSettings,
{name, value}
),
});
return (
{
event.stopPropagation();
if (onSubmit) {
onSubmit();
}
}}
onChange={(label) => setValues({label})}
required
translations={values.label as LocalizedValue}
/>
{values.businessType === 'Attachment' && (
)}
{(values.businessType === 'Encrypted' ||
values.businessType === 'LongText' ||
values.businessType === 'Text') && (
)}
);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy