Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import React, {Component} from "react";
- import {ErrorType} from "../../models/ErrorType";
- import {ProcessStatus} from "../../models/ProcessStatus";
- import {DocumentFilteringFields} from "./DocumentFilteringFields";
- import {searchDocumentArchive} from "../../utils/documentArchivingRequestBuilder";
- import { SearchArchivingResultResponse } from "../../models/ArchivingResult";
- interface DocumentsFilteringState {
- correlationId: string | undefined;
- fileName: string | undefined;
- startDate: Date | null;
- endDate: Date | null;
- requestMetadata: string | undefined;
- errorType: ErrorType;
- processStatus: ProcessStatus;
- documentsPerPage: number;
- // documents: SearchArchivingResultResponse;
- }
- interface DocumentsFilteringProps {
- onNewDataReceived: (documents: SearchArchivingResultResponse) => void;
- }
- const initialState: DocumentsFilteringState = {
- startDate: null,
- endDate: null,
- correlationId: "",
- fileName: "",
- requestMetadata: "",
- errorType: ErrorType.ANY,
- processStatus: ProcessStatus.ANY,
- documentsPerPage: 100,
- // documents: {
- // results: [],
- // totalPages: 0,
- // totalElements: 0,
- // last: true
- // }
- }
- class DocumentsFiltering extends Component<DocumentsFilteringProps, DocumentsFilteringState> {
- state: DocumentsFilteringState = initialState;
- handleCorrelationIdChange = (correlationId: string) => { this.setState({ correlationId: correlationId }); }
- handleFileNameChange = (fileName: string) => { this.setState({ fileName: fileName }); }
- handleStartDateChange = (date: Date) => { this.setState({ startDate: date }); }
- handleEndDateChange = (date: Date) => { this.setState({ endDate: date }); }
- handleRequestMetadataChange = (requestMetadata: string) => { this.setState({ requestMetadata: requestMetadata }); }
- handleErrorTypeChange = (errorType: ErrorType) => { this.setState({ errorType: errorType }); }
- handleProcessStatusChange = (processStatus: ProcessStatus) => { this.setState({ processStatus: processStatus }); }
- handleDocumentsPerPageChange = (documentsPerPage: number) => { this.setState({ documentsPerPage: documentsPerPage }); }
- search = async() => {
- const {correlationId, fileName, startDate, endDate, requestMetadata, errorType, processStatus, documentsPerPage} = this.state;
- const results = await searchDocumentArchive(errorType, processStatus, documentsPerPage, 0, startDate, endDate, requestMetadata, correlationId, fileName);
- console.log(results);
- this.props.onNewDataReceived(results);
- // this.setState({documents: {...this.state.documents, results: results.results, totalPages: results.totalPages,
- // totalElements: results.totalElements, last: results.last}});
- }
- clear() {
- this.setState(initialState);
- }
- render() {
- return(
- <DocumentFilteringFields
- onCorrelationIdChange={this.handleCorrelationIdChange}
- onFileNameChange={this.handleFileNameChange}
- onStartDateChange={this.handleStartDateChange}
- onEndDateChange={this.handleEndDateChange}
- onRequestMetadataChange={this.handleRequestMetadataChange}
- onErrorTypeChange={this.handleErrorTypeChange}
- onProcessStatusChange={this.handleProcessStatusChange}
- onDocumentsPerPageChange={this.handleDocumentsPerPageChange}
- startDate={this.state.startDate}
- endDate={this.state.endDate}
- errorType={this.state.errorType}
- processStatus={this.state.processStatus}
- documentsPerPage={this.state.documentsPerPage}
- correlationId={this.state.correlationId}
- fileName={this.state.fileName}
- requestMetadata={this.state.requestMetadata}
- onSearch={() => this.search()}
- onClear={() => this.clear()}
- />
- );
- }
- }
- export default DocumentsFiltering;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement