Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/**
* Copyright (c) 2000-present Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*/
import ClayAlert from '@clayui/alert';
import ClayButton from '@clayui/button';
import ClayForm, {ClayInput} from '@clayui/form';
import ClayModal, {useModal} from '@clayui/modal';
import PropTypes from 'prop-types';
import React, {useEffect, useRef, useState} from 'react';
const ImportAndOverrideDataDefinitionModal = ({portletNamespace}) => {
const [visible, setVisible] = useState(false);
const [
importAndOverrideStructureURL,
setImportAndOverrideStructureURL,
] = useState('');
const inputFileRef = useRef();
const importAndOverrideDataDefinitionModalComponentId = `${portletNamespace}importAndOverrideDataDefinitionModal`;
const importAndOverrideDataDefinitionFormId = `${portletNamespace}importAndOverrideDataDefinitionForm`;
const jsonFileInputId = `${portletNamespace}jsonFile`;
const [{fileName, inputFile, inputFileValue}, setFile] = useState({
fileName: '',
inputFile: null,
inputFileValue: '',
});
const {observer, onClose} = useModal({
onClose: () => {
setVisible(false);
setFile({
fileName: '',
inputFile: null,
inputFileValue: '',
});
},
});
useEffect(() => {
Liferay.component(
importAndOverrideDataDefinitionModalComponentId,
{
open: (importAndOverrideDDMStructureURL) => {
setImportAndOverrideStructureURL(
importAndOverrideDDMStructureURL
);
setVisible(true);
},
},
{
destroyOnNavigate: true,
}
);
return () =>
Liferay.destroyComponent(
importAndOverrideDataDefinitionModalComponentId
);
}, [importAndOverrideDataDefinitionModalComponentId, setVisible]);
return visible ? (
{Liferay.Language.get('import-structure')}
{Liferay.Language.get(
'there-are-content-references-to-this-structure.-you-may-lose-data-if-a-field-name-is-renamed-or-removed'
)}
inputFileRef.current.click()}
>
{Liferay.Language.get('select')}
{inputFile && (
{
setFile({
fileName: '',
inputFile: null,
inputFileValue: '',
});
}}
>
{Liferay.Language.get('clear')}
)}
{
const [inputFile] = target.files;
setFile({
fileName: inputFile.name,
inputFile,
inputFileValue: target.value,
});
}}
ref={inputFileRef}
type="file"
value={inputFileValue}
/>
{Liferay.Language.get('cancel')}
{Liferay.Language.get('import')}
}
/>
) : null;
};
ImportAndOverrideDataDefinitionModal.propTypes = {
importAndOverrideDDMStructureURL: PropTypes.string,
portletNamespace: PropTypes.string,
};
export default ImportAndOverrideDataDefinitionModal;