// Licensed to Cloudera, Inc. under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. Cloudera, Inc. licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. import React from 'react'; import { BrowserViewType, StorageDirectoryTableData } from '../../../../types'; import { i18nReact } from '../../../../../../utils/i18nReact'; import useSaveData from '../../../../../../utils/hooks/useSaveData/useSaveData'; import { RENAME_API_URL } from '../../../../api'; import InputModal from '../../../../../../reactComponents/InputModal/InputModal'; interface RenameModalProps { isOpen?: boolean; file: StorageDirectoryTableData; onSuccess: () => void; onError: (error: Error) => void; onClose: () => void; } const RenameModal = ({ isOpen = true, file, onSuccess, onError, onClose }: RenameModalProps): JSX.Element => { const { t } = i18nReact.useTranslation(); const { save, loading, error } = useSaveData(RENAME_API_URL, { options: { qsEncodeData: true }, // TODO: Remove once API supports RAW JSON payload skip: !file.path, onSuccess, onError }); const handleRename = (value: string) => { save({ source_path: file.path, destination_path: value }); }; return ( ); }; export default RenameModal;