
META-INF.resources.js.components.ViewObjectDefinitions.ModalDeleteObjectDefinition.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 {ClayModalProvider, useModal} from '@clayui/modal';
import {sub} from 'frontend-js-web';
import React from 'react';
import DangerModal from '../DangerModal';
import WarningModal from '../WarningModal';
import {deleteObjectDefinitionToast} from './objectDefinitionUtil';
interface ModalDeleteObjectDefinitionProps {
handleDeleteObjectDefinition: (
value: DeletedObjectDefinition | null
) => void;
handleOnClose: () => void;
objectDefinition: DeletedObjectDefinition;
onAfterDeleteObjectDefinition?: () => void;
}
export function ModalDeleteObjectDefinition({
handleDeleteObjectDefinition,
handleOnClose,
objectDefinition,
onAfterDeleteObjectDefinition,
}: ModalDeleteObjectDefinitionProps) {
const {observer, onClose} = useModal({
onClose: () => {
handleDeleteObjectDefinition(null);
handleOnClose();
},
});
return (
{objectDefinition?.hasObjectRelationship ? (
{sub(
Liferay.Language.get(
'x-has-active-relationships-and-cannot-be-deleted'
),
`${objectDefinition?.name}`
)}
{sub(
Liferay.Language.get(
'to-delete-x,-you-must-first-delete-its-relationships'
),
`${objectDefinition?.name}`
)}
{Liferay.Language.get(
'go-to-object-details-relationships'
)}
) : (
{
await deleteObjectDefinitionToast(
objectDefinition?.id,
objectDefinition?.name
);
if (onAfterDeleteObjectDefinition) {
onAfterDeleteObjectDefinition();
}
else {
setTimeout(() => window.location.reload(), 1500);
}
onClose();
}}
placeholder={Liferay.Language.get(
'confirm-object-definition-name'
)}
title={Liferay.Language.get('delete-object-definition')}
token={objectDefinition ? objectDefinition.name : ''}
>
{Liferay.Language.get(
'deleting-an-object-definition-also-removes-its-data-records'
)}
${objectDefinition?.name}`,
`${objectDefinition?.objectEntriesCount}`
),
}}
/>
{Liferay.Language.get(
'before-deleting-this-object-definition-you-may-want-to-back-up-its-entries-to-prevent-data-loss'
)}
${objectDefinition?.name}`
),
}}
/>
)}
);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy