
META-INF.resources.js.components.ViewObjectDefinitions.ViewObjectDefinitionsModals.tsx Maven / Gradle / Ivy
The newest version!
/**
* SPDX-FileCopyrightText: (c) 2024 Liferay, Inc. https://liferay.com
* SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
*/
import {stringUtils} from '@liferay/object-js-components-web';
import {sub} from 'frontend-js-web';
import React from 'react';
import ModalDeletionNotAllowed from '../ModalDeletionNotAllowed';
import ModalImport from '../ModalImport/ModalImport';
import {ModalAddObjectDefinition} from './ModalAddObjectDefinition';
import {ModalAddObjectFolder} from './ModalAddObjectFolder';
import {ModalDeleteObjectDefinition} from './ModalDeleteObjectDefinition';
import {ModalDeleteObjectFolder} from './ModalDeleteObjectFolder';
import {ModalEditObjectFolder} from './ModalEditObjectFolder';
import {ModalMoveObjectDefinition} from './ModalMoveObjectDefinition';
import type {ModalImportProperties} from './ViewObjectDefinitions';
interface ViewObjectDefinitionsModalsProps {
deletedObjectDefinition?: DeletedObjectDefinition | null;
learnResourceContext: any;
modalImportProperties: ModalImportProperties;
moveObjectDefinition?: ObjectDefinition | null;
nameMaxLength: string;
objectDefinitionsStorageTypes: LabelValueObject[];
objectFoldersRequestInfo: ObjectFoldersRequestInfo;
portletNamespace: string;
selectedObjectDefinition?: ObjectDefinition;
selectedObjectFolder: Partial;
setDeletedObjectDefinition: React.Dispatch<
React.SetStateAction
>;
setMoveObjectDefinition: React.Dispatch<
React.SetStateAction
>;
setObjectFoldersRequestInfo: React.Dispatch<
React.SetStateAction
>;
setReloadFDS: (value: boolean) => void;
setSelectedObjectFolder: React.Dispatch<
React.SetStateAction>
>;
setShowModal: React.Dispatch<
React.SetStateAction
>;
showModal: ShowObjectDefinitionsModals;
}
export function ViewObjectDefinitionsModals({
deletedObjectDefinition,
learnResourceContext,
modalImportProperties,
moveObjectDefinition,
nameMaxLength,
objectDefinitionsStorageTypes,
objectFoldersRequestInfo,
portletNamespace,
selectedObjectDefinition,
selectedObjectFolder,
setDeletedObjectDefinition,
setMoveObjectDefinition,
setObjectFoldersRequestInfo,
setReloadFDS,
setSelectedObjectFolder,
setShowModal,
showModal,
}: ViewObjectDefinitionsModalsProps) {
return (
<>
{showModal.addObjectDefinition && (
{
setShowModal((previousState) => ({
...previousState,
addObjectDefinition: false,
}));
}}
learnResourceContext={learnResourceContext}
objectDefinitionsStorageTypes={
objectDefinitionsStorageTypes
}
objectFolderExternalReferenceCode={
selectedObjectFolder.externalReferenceCode
}
onAfterSubmit={() => {
setReloadFDS(true);
}}
/>
)}
{showModal.importModal && (
setReloadFDS(true),
})}
JSONInputId={modalImportProperties.JSONInputId}
apiURL={modalImportProperties.apiURL}
handleOnClose={() => {
setShowModal((previousState) => ({
...previousState,
importModal: false,
}));
}}
importExtendedInfo={
modalImportProperties.importExtendedInfo as KeyValueObject
}
importURL={modalImportProperties.importURL}
modalImportKey={modalImportProperties.modalImportKey}
nameMaxLength={nameMaxLength}
objectFolderExternalReferenceCode={
selectedObjectFolder.externalReferenceCode
}
portletNamespace={portletNamespace}
showModal={showModal.importModal}
/>
)}
{showModal.addObjectFolder && (
{
setShowModal((previousState) => ({
...previousState,
addObjectFolder: false,
}));
}}
setObjectFoldersRequestInfo={setObjectFoldersRequestInfo}
setSelectedObjectFolder={setSelectedObjectFolder}
/>
)}
{showModal.deleteObjectDefinition && (
setDeletedObjectDefinition
}
handleOnClose={() => {
setShowModal((previousState) => ({
...previousState,
deleteObjectDefinition: false,
}));
}}
objectDefinition={
deletedObjectDefinition as DeletedObjectDefinition
}
onAfterDeleteObjectDefinition={() => setReloadFDS(true)}
/>
)}
{showModal.deleteObjectFolder && (
{
setShowModal((previousState) => ({
...previousState,
deleteObjectFolder: false,
}));
}}
objectFolder={selectedObjectFolder as ObjectFolder}
/>
)}
{showModal.editObjectFolder && (
{
setShowModal((previousState) => ({
...previousState,
editObjectFolder: false,
}));
}}
id={selectedObjectFolder.id as number}
initialLabel={selectedObjectFolder.label}
name={selectedObjectFolder.name}
onAfterSubmit={(editedObjectFolder) => {
setSelectedObjectFolder(editedObjectFolder);
setObjectFoldersRequestInfo({
...objectFoldersRequestInfo,
items: objectFoldersRequestInfo.items.map(
(objectFolder) => {
if (
objectFolder.name ===
editedObjectFolder.name
) {
return {
...objectFolder,
externalReferenceCode:
editedObjectFolder.externalReferenceCode,
label: editedObjectFolder.label,
};
}
return objectFolder;
}
),
});
}}
/>
)}
{showModal.moveObjectDefinition && (
{
setShowModal((previousState) => ({
...previousState,
moveObjectDefinition: false,
}));
}}
objectDefinitionId={moveObjectDefinition?.id as number}
objectFolders={objectFoldersRequestInfo.items}
onAfterMoveObjectDefinition={() => setReloadFDS(true)}
setMoveObjectDefinition={setMoveObjectDefinition}
/>
)}
{showModal.objectDefinitionOnRootModelDeletionNotAllowed &&
selectedObjectDefinition &&
Liferay.FeatureFlags['LPD-34594'] && (
}
onModalClose={() =>
setShowModal((previousState) => ({
...previousState,
objectDefinitionOnRootModelDeletionNotAllowed:
false,
}))
}
/>
)}
{showModal.objectFieldDeletionNotAllowed &&
selectedObjectDefinition &&
Liferay.FeatureFlags['LPD-34594'] && (
"${stringUtils.getLocalizableLabel(
{
fallbackLabel:
selectedObjectDefinition.name,
fallbackLanguageId:
selectedObjectDefinition.defaultLanguageId,
labels: selectedObjectDefinition.label,
}
)}"`
),
}}
/>
}
onModalClose={() =>
setShowModal((previousState) => ({
...previousState,
objectFieldDeletionNotAllowed: false,
}))
}
/>
)}
>
);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy