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

META-INF.resources.js.components.ModalAddObjectLayout.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 {Observer} from '@clayui/modal/lib/types';
import React, {useEffect, useState} from 'react';

import ModalBasicWithFieldName from './ModalBasicWithFieldName';
interface IProps extends React.HTMLAttributes {
	apiURL: string;
	observer: Observer;
	onClose: () => void;
}

const ModalWithProvider: React.FC<
	{children?: React.ReactNode | undefined} & IProps
> = ({apiURL}) => {
	const [visibleModal, setVisibleModal] = useState(false);
	const {observer, onClose} = useModal({
		onClose: () => setVisibleModal(false),
	});

	useEffect(() => {
		const openModal = () => setVisibleModal(true);

		Liferay.on('addObjectLayout', openModal);

		return () => {
			Liferay.detach('addObjectLayout', openModal);
		};
	}, []);

	return (
		
			{visibleModal && (
				
			)}
		
	);
};

export default ModalWithProvider;




© 2015 - 2025 Weber Informatics LLC | Privacy Policy