All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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