Advertisement
Guest User

Untitled

a guest
Apr 24th, 2019
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React, {Component} from "react";
  2. import {ErrorType} from "../../models/ErrorType";
  3. import {ProcessStatus} from "../../models/ProcessStatus";
  4. import {DocumentFilteringFields} from "./DocumentFilteringFields";
  5. import {searchDocumentArchive} from "../../utils/documentArchivingRequestBuilder";
  6. import { SearchArchivingResultResponse } from "../../models/ArchivingResult";
  7.  
  8. interface DocumentsFilteringState {
  9.     correlationId: string | undefined;
  10.     fileName: string | undefined;
  11.     startDate: Date | null;
  12.     endDate: Date | null;
  13.     requestMetadata: string | undefined;
  14.     errorType: ErrorType;
  15.     processStatus: ProcessStatus;
  16.     documentsPerPage: number;
  17.     // documents: SearchArchivingResultResponse;
  18. }
  19.  
  20. interface DocumentsFilteringProps {
  21.     onNewDataReceived: (documents: SearchArchivingResultResponse) => void;
  22. }
  23.  
  24. const initialState: DocumentsFilteringState = {
  25.     startDate: null,
  26.     endDate: null,
  27.     correlationId: "",
  28.     fileName: "",
  29.     requestMetadata: "",
  30.     errorType: ErrorType.ANY,
  31.     processStatus: ProcessStatus.ANY,
  32.     documentsPerPage: 100,
  33.     // documents: {
  34.     //     results: [],
  35.     //     totalPages: 0,
  36.     //     totalElements: 0,
  37.     //     last: true
  38.     // }
  39. }
  40.  
  41. class DocumentsFiltering extends Component<DocumentsFilteringProps, DocumentsFilteringState> {
  42.     state: DocumentsFilteringState = initialState;
  43.  
  44.     handleCorrelationIdChange = (correlationId: string) => { this.setState({ correlationId: correlationId }); }
  45.  
  46.     handleFileNameChange = (fileName: string) => { this.setState({ fileName: fileName }); }
  47.  
  48.     handleStartDateChange = (date: Date) => { this.setState({ startDate: date }); }
  49.  
  50.     handleEndDateChange = (date: Date) => { this.setState({ endDate: date }); }
  51.  
  52.     handleRequestMetadataChange = (requestMetadata: string) => { this.setState({ requestMetadata: requestMetadata }); }
  53.  
  54.     handleErrorTypeChange = (errorType: ErrorType) => { this.setState({ errorType: errorType }); }
  55.  
  56.     handleProcessStatusChange = (processStatus: ProcessStatus) => { this.setState({ processStatus: processStatus }); }
  57.  
  58.     handleDocumentsPerPageChange = (documentsPerPage: number) => { this.setState({ documentsPerPage: documentsPerPage }); }
  59.  
  60.     search = async() => {
  61.         const {correlationId, fileName, startDate, endDate, requestMetadata, errorType, processStatus, documentsPerPage} = this.state;
  62.         const results = await searchDocumentArchive(errorType, processStatus, documentsPerPage, 0, startDate, endDate, requestMetadata, correlationId, fileName);
  63.         console.log(results);
  64.         this.props.onNewDataReceived(results);
  65.         // this.setState({documents: {...this.state.documents, results: results.results, totalPages: results.totalPages,
  66.         //     totalElements: results.totalElements, last: results.last}});
  67.     }
  68.  
  69.     clear() {
  70.         this.setState(initialState);
  71.     }
  72.  
  73.     render() {
  74.         return(
  75.             <DocumentFilteringFields
  76.                 onCorrelationIdChange={this.handleCorrelationIdChange}
  77.                 onFileNameChange={this.handleFileNameChange}
  78.                 onStartDateChange={this.handleStartDateChange}
  79.                 onEndDateChange={this.handleEndDateChange}
  80.                 onRequestMetadataChange={this.handleRequestMetadataChange}
  81.                 onErrorTypeChange={this.handleErrorTypeChange}
  82.                 onProcessStatusChange={this.handleProcessStatusChange}
  83.                 onDocumentsPerPageChange={this.handleDocumentsPerPageChange}
  84.                 startDate={this.state.startDate}
  85.                 endDate={this.state.endDate}
  86.                 errorType={this.state.errorType}
  87.                 processStatus={this.state.processStatus}
  88.                 documentsPerPage={this.state.documentsPerPage}
  89.                 correlationId={this.state.correlationId}
  90.                 fileName={this.state.fileName}
  91.                 requestMetadata={this.state.requestMetadata}
  92.                 onSearch={() => this.search()}
  93.                 onClear={() => this.clear()}
  94.             />
  95.         );
  96.     }
  97. }
  98.  
  99. export default DocumentsFiltering;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement