Handle wiaas documents
This commit is contained in:
@@ -6,11 +6,13 @@ import Dropzone from 'react-dropzone';
|
||||
import {API_SERVER} from '../../../config';
|
||||
import FileDownloader from '../../../helpers/FileDownloader';
|
||||
import {cartTexts} from '../../../constants/cartConstants';
|
||||
import {getDocumentIcon} from '../../../helpers/DocumentHelper';
|
||||
import classnames from 'classnames';
|
||||
|
||||
const fileHandler = new FileDownloader();
|
||||
const documentTypes = {
|
||||
2 : 'Customer Questionnaire',
|
||||
7 : 'Customer Agreement'
|
||||
'order_questionaire' : 'Customer Questionnaire',
|
||||
'order_agreement' : 'Customer Agreement'
|
||||
};
|
||||
|
||||
class CartUploadDocument extends Component {
|
||||
@@ -20,11 +22,11 @@ class CartUploadDocument extends Component {
|
||||
this.uploadFile = this.uploadFile.bind(this);
|
||||
}
|
||||
|
||||
uploadFile(idPackage, idDocumentType,acceptedFiles, rejectedFiles, packages){
|
||||
uploadFile(packageCartKey, idDocumentType,acceptedFiles, rejectedFiles, packages){
|
||||
const self = this;
|
||||
|
||||
acceptedFiles.forEach(file => {
|
||||
self.props.dispatch(uploadOrderDocument(idPackage, idDocumentType, file, packages));
|
||||
self.props.dispatch(uploadOrderDocument(packageCartKey, idDocumentType, file, packages));
|
||||
});
|
||||
|
||||
if(rejectedFiles && rejectedFiles.length) {
|
||||
@@ -33,9 +35,15 @@ class CartUploadDocument extends Component {
|
||||
}
|
||||
|
||||
downloadDocument(document){
|
||||
const fileUrl = `${API_SERVER}/utils/api/downloadFile?idDocument=${document.idDocument}&fileName=${document.documentName}.${document.extension}`
|
||||
const fileName = document.documentName + '.' + document.extension;
|
||||
fileHandler.download(fileUrl, fileName);
|
||||
fileHandler.download(
|
||||
`${API_SERVER}/wp-json/wiaas/cart/items/${this.props.cartItem.key}/documents/${this.props.idDocumentType}?document_key=${document.key}`,
|
||||
document.name);
|
||||
}
|
||||
|
||||
downloadTemplate(document) {
|
||||
fileHandler.download(
|
||||
`${API_SERVER}/wp-json/wiaas/documents?document_id=${document.id}`,
|
||||
document.name);
|
||||
}
|
||||
|
||||
render() {
|
||||
@@ -45,30 +53,51 @@ class CartUploadDocument extends Component {
|
||||
{
|
||||
templateDocument &&
|
||||
<div>
|
||||
<Dropzone className="upload-file-drop-zone"
|
||||
<div className="cart-template">
|
||||
<p className="cart-subtitle">{documentTypes[idDocumentType]} {cartTexts.labels.TEMPLATE}:</p>
|
||||
<p className="document-link" onClick={() => {this.downloadTemplate(templateDocument)}}>
|
||||
<i className={`fa fa-${getDocumentIcon(templateDocument.extension)}`} aria-hidden="true"></i> {templateDocument.name}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<Dropzone className={classnames('upload-file-drop-zone', { 'pending-upload': !uploadedDocument })}
|
||||
accept=".pdf,.docx,.doc,.xlsx,.xls,.odt,.ods"
|
||||
onDrop={(acceptedFiles, rejectedFiles)=>{this.uploadFile(cartItem.idPackage, idDocumentType, acceptedFiles, rejectedFiles, packages)}}>
|
||||
onDrop={(acceptedFiles, rejectedFiles)=>{this.uploadFile(cartItem.key, idDocumentType, acceptedFiles, rejectedFiles, packages)}}>
|
||||
{
|
||||
uploadedDocument
|
||||
? <h6 className="drop-zone-text uploaded">{cartTexts.labels.FILE_UPLOADED_TEXT} {documentTypes[idDocumentType]} {cartTexts.labels.FILE}</h6>
|
||||
: <h6 className="drop-zone-text">{cartTexts.labels.NO_FILE_UPLOAD_TEXT_1} {documentTypes[idDocumentType]} {cartTexts.labels.NO_FILE_UPLOAD_TEXT_2}</h6>
|
||||
? (
|
||||
<div>
|
||||
<h1 className="drop-zone-icon">
|
||||
<i className="fa fa-upload"></i>
|
||||
</h1>
|
||||
<h6 className="drop-zone-text">{uploadedDocument.name}</h6>
|
||||
<span className="drop-zone-text">
|
||||
Drag and drop or click to replace file
|
||||
</span>
|
||||
</div>
|
||||
)
|
||||
: (
|
||||
<div>
|
||||
<h1 className="drop-zone-icon pending-upload">
|
||||
<i className="fa fa-upload"></i>
|
||||
</h1>
|
||||
<span className="drop-zone-text">
|
||||
Drag and drop or click to upload file
|
||||
</span>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
</Dropzone>
|
||||
{
|
||||
uploadedDocument &&
|
||||
<div>
|
||||
<div className="cart-subtitle">{cartTexts.labels.UPLOADED}:</div>
|
||||
<div className="document-link" onClick={() => {this.downloadDocument(uploadedDocument)}}>
|
||||
<i className="fa fa-file" aria-hidden="true"></i>
|
||||
{' ' + uploadedDocument.documentName + ' (' + uploadedDocument.extension + ')'}
|
||||
</div>
|
||||
<span className="document-link" onClick={() => {this.downloadDocument(uploadedDocument)}}>
|
||||
<strong>
|
||||
<i className={`fa fa-${getDocumentIcon(uploadedDocument.extension)}`} aria-hidden="true"></i> {uploadedDocument.name}
|
||||
</strong>
|
||||
</span>
|
||||
</div>
|
||||
}
|
||||
<div className="cart-subtitle">{cartTexts.labels.TEMPLATES}:</div>
|
||||
<div className="document-link" onClick={() => {this.downloadDocument(templateDocument)}}>
|
||||
<i className="fa fa-file" aria-hidden="true"></i>
|
||||
{' ' + templateDocument.documentName + ' (' + templateDocument.extension + ')'}
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user