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

META-INF.resources.js.components.ObjectField.UniqueValues.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 ClayForm from '@clayui/form';
import {Toggle} from '@liferay/object-js-components-web';
import React from 'react';

import {
	removeFieldSettings,
	updateFieldSettings,
} from '../../utils/fieldSettings';

import './ObjectFieldFormBase.scss';

interface UniqueValuesProps {
	disabled?: boolean;
	objectField: Partial;
	onSubmit?: () => void;
	setValues: (values: Partial) => void;
}

export function UniqueValues({
	disabled,
	objectField: values,
	onSubmit,
	setValues,
}: UniqueValuesProps) {
	const isUniqueValue = values.objectFieldSettings?.some(
		(setting) => setting.name === 'uniqueValues'
	);

	const handleUniqueValuesToggle = (toggled: boolean) => {
		if (toggled) {
			setValues({
				objectFieldSettings: updateFieldSettings(
					values.objectFieldSettings,
					{
						name: 'uniqueValues',
						value: true,
					}
				),
			});
		}
		else {
			setValues({
				objectFieldSettings: removeFieldSettings(
					['uniqueValues'],
					values
				),
			});
		}
	};

	return (
		<>
			
				 {
						event.stopPropagation();

						if (onSubmit) {
							onSubmit();
						}
					}}
					onToggle={handleUniqueValuesToggle}
					toggled={isUniqueValue}
					tooltip={Liferay.Language.get(
						'users-will-only-be-able-to-add-unique-values-for-this-field'
					)}
				/>
			
		
	);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy