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;