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

META-INF.resources.js.components.ObjectField.ModalDeleteObjectField.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 ClayButton from '@clayui/button';
import {Text} from '@clayui/core';
import ClayModal, {ClayModalProvider, useModal} from '@clayui/modal';
import {stringUtils} from '@liferay/object-js-components-web';
import React from 'react';

import {deleteObjectField} from './deleteObjectFieldUtil';

interface ModalDeleteObjectFieldProps {
	handleOnClose: () => void;
	objectField: ObjectField;
	onAfterSubmit: () => void;
	setObjectField?: (values: ObjectField | null) => void;
}

export function ModalDeleteObjectField({
	handleOnClose,
	objectField,
	onAfterSubmit,
	setObjectField,
}: ModalDeleteObjectFieldProps) {
	const {observer, onClose, open} = useModal({
		onClose: () => handleOnClose(),
	});

	return (
		
			{objectField && (
				
					
						{Liferay.Language.get('delete-object-field')}
					

					
						
							{Liferay.Language.get(
								"this-action-cannot-be-undone-and-will-permanently-delete-this-field's-data"
							)}
						

						
							{Liferay.Language.get('it-may-affect-many-records')}
						

						
							{Liferay.Language.get('do-you-want-to-proceed')}
						
					

					
								 onClose()}
								>
									{Liferay.Language.get('cancel')}
								

								 {
										deleteObjectField(
											objectField.id,
											stringUtils.getLocalizableLabel({
												fallbackLabel: objectField.name,
												labels: objectField.label,
											})
										);

										open
											? onClose()
											: setObjectField &&
												setObjectField(null);

										onAfterSubmit();
									}}
								>
									{Liferay.Language.get('delete')}
								
							
						}
					>
				
			)}
		
	);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy