File indexing completed on 2025-05-04 05:30:58
0001 import React, {useState,useRef} from 'react'; 0002 import Axios from 'axios'; 0003 import ModalAddRelationship from './ModalAddRelationship'; 0004 import ModalFlagModification from './ModalFlagModification'; 0005 const ProductRelationship = () => { 0006 const [product, setProduct] = useState(window.product); 0007 const [radioType, setRadioType] = useState('is-original'); 0008 const [message, setMessage] = useState(''); 0009 const [project_id, setProjectId] = useState(''); 0010 const [succeed, setSucceed] = useState(false); 0011 const [externalurl, setExternalurl] = useState(''); 0012 const [response, setResponse] = useState({status:''}); 0013 0014 const handleSubmit =(event)=>{ 0015 event.preventDefault(); 0016 0017 const url = window.config.baseUrlStore+'/report/productclone/'; 0018 const params = new URLSearchParams(); 0019 params.append('pc', project_id); 0020 params.append('p', product.project_id); 0021 params.append('t', message); 0022 params.append('i', radioType); 0023 0024 Axios.post(url,params) 0025 .then(function (response) { 0026 setResponse(response.data); 0027 if(response.data.status=='ok') 0028 { 0029 setSucceed(true); 0030 } 0031 }) 0032 .catch(function (error) { 0033 console.log(error); 0034 }); 0035 } 0036 const handleOnCloseModal = event=>{ 0037 setMessage(''); 0038 setSucceed(false); 0039 setResponse({status:''}); 0040 setRadioType('is-original'); 0041 } 0042 0043 const handleSubmitFlagMod = event =>{ 0044 event.preventDefault(); 0045 const url = window.config.baseUrlStore+'/report/flagmod/'; 0046 const params = new URLSearchParams(); 0047 params.append('l', externalurl); 0048 params.append('p', product.project_id); 0049 params.append('t', message); 0050 Axios.post(url,params) 0051 .then(function (response) { 0052 setResponse(response.data); 0053 if(response.data.status=='ok') 0054 { 0055 setSucceed(true); 0056 } 0057 }) 0058 .catch(function (error) { 0059 console.log(error); 0060 }); 0061 } 0062 0063 const handleChangeMessage = event =>{ 0064 setMessage(event.target.value); 0065 } 0066 0067 const handleChangeExternalurl=event =>{ 0068 setExternalurl(event.target.value); 0069 } 0070 0071 const handleRadioChange = event => { 0072 0073 setRadioType(event.target.value); 0074 }; 0075 0076 const triggerAddRelationship=event=>{ 0077 $('#productFlagModificationPanel').modal('hide'); 0078 $('#productRelationshipPanel').modal('show'); 0079 } 0080 0081 const handleInputProjectIdChange = event =>{ 0082 setProjectId(event.target.value); 0083 } 0084 return ( 0085 <> 0086 <a data-toggle="modal" data-target="#productRelationshipPanel" style={{display: 'inherit',fontStyle:'italic',cursor:'pointer'}}> 0087 Add Relationship 0088 </a> 0089 <a data-toggle="modal" data-target="#productFlagModificationPanel" style={{display: 'inherit',fontStyle:'italic',cursor:'pointer'}}> 0090 Flag Modification 0091 </a> 0092 <ModalAddRelationship 0093 product={product} 0094 project_id={project_id} 0095 setProjectId={setProjectId} 0096 message={message} 0097 handleChangeMessage={handleChangeMessage} 0098 handleRadioChange={handleRadioChange} 0099 radioType={radioType} 0100 succeed={succeed} 0101 handleSubmit={handleSubmit} 0102 handleInputProjectIdChange = {handleInputProjectIdChange} 0103 response ={response} 0104 handleOnCloseModal = {handleOnCloseModal} 0105 /> 0106 <ModalFlagModification 0107 product={product} 0108 project_id={project_id} 0109 setProjectId={setProjectId} 0110 message={message} 0111 handleChangeMessage={handleChangeMessage} 0112 succeed={succeed} 0113 handleSubmit={handleSubmitFlagMod} 0114 triggerAddRelationship={triggerAddRelationship} 0115 externalurl={externalurl} 0116 handleChangeExternalurl={handleChangeExternalurl} 0117 response ={response} 0118 handleOnCloseModal = {handleOnCloseModal} 0119 /> 0120 0121 0122 </> 0123 0124 ) 0125 } 0126 0127 export default ProductRelationship;