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

META-INF.resources.js.components.DeleteQuestion.es.js Maven / Gradle / Ivy

There is a newer version: 2.0.121
Show 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 {useMutation} from 'graphql-hooks';
import React, {useContext} from 'react';
import {withRouter} from 'react-router-dom';

import {AppContext} from '../AppContext.es';
import {deleteMessageBoardThreadQuery} from '../utils/client.es';
import {deleteCache, historyPushWithSlug} from '../utils/utils.es';
import Modal from './Modal.es';

export default withRouter(
	({deleteModalVisibility, history, question, setDeleteModalVisibility}) => {
		const historyPushParser = historyPushWithSlug(history.push);
		const context = useContext(AppContext);

		const [deleteThread] = useMutation(deleteMessageBoardThreadQuery);

		return (
			<>
				{question.actions && question.actions.delete && (
					 {
							deleteThread({
								variables: {
									messageBoardThreadId: question.id,
								},
							}).then(() => {
								deleteCache();
								historyPushParser(
									`/questions/${
										question.messageBoardSection
											? context.useTopicNamesInURL
												? question.messageBoardSection
														.title
												: question.messageBoardSection
														.id
											: context.rootTopicId
									}`
								);
							});
						}}
						onClose={() => {
							setDeleteModalVisibility(false);
						}}
						status="warning"
						textPrimaryButton={Liferay.Language.get('delete')}
						title={Liferay.Language.get('delete-question')}
						visible={deleteModalVisibility}
					/>
				)}
			
		);
	}
);




© 2015 - 2024 Weber Informatics LLC | Privacy Policy