import React, { Component } from "react";
import Router from "next/router";
import ContentWrapper from "@/components/Layout/ContentWrapper";
import { Row, Col, Button, Table, Pagination, PaginationItem, PaginationLink } from "reactstrap";
import Link from "next/link";
import { getPT, getPembina } from "@/actions/PT";
import Select from "react-select";
import "react-datetime/css/react-datetime.css";
import { connect } from "react-redux";
import Loader from "@/components/Common/Loader";
import { createLog } from "@/actions/log";
var pembina = [];
const selectInstanceId = 1;
class Search extends Component {
	state = {
		selectedOptionMulti: [],
		data: [],
		pembina: [],
		loading: false,
		noData: false,
	};
	componentDidMount = async () => {
		const { user, token } = this.props;
		if (user.role.id === 2020) {
			const dataPembina = await getPembina(token);
			this.setState({ pembina: dataPembina.data });
		}
	};
	optionsPembina = (pembina) => {
		return pembina.map((e) => ({ value: e.id, label: e.nama, className: "State-ACT" }));
	};
	handleChangeSelectMulti = (selectedOptionMulti) => {
		this.setState({ selectedOptionMulti });
	};
	renderInputGroup = (props) => {
		return (
			
				
				
					
				
			
		);
	};
	handleClick = async (e, PT_ID, pt_name) => {
		e.preventDefault();
		const { token } = this.props;
		await createLog(token, { aktivitas: `Mencari ${pt_name} untuk Pembuatan Laporan`, menu: "Pelaporan" });
		Router.push({
			pathname: "/app/pelaporan/new",
			query: { ptId: PT_ID },
		});
	};
	fetchData = async () => {
		const pembina = this.props.user.role.id === 2021 ? this.props.user.lembaga.id : this.state.selectedOptionMulti?.map((e) => e.value).join(",");
		const searchValue = document.getElementById("searchInput").value;
		const jsonData = await getPT(this.props.token, { search: searchValue, pembina });
		this.setState({ data: jsonData.data });
	};
	renderTableData() {
		return (
			!this.state.loading &&
			this.state.data &&
			this.state.data.map((pt, index) => {
				return (
					
						|  | 
								
									  
									
										{pt.nama}{pt.sk_pendirian} - {pt.website} - {pt.email}{pt.alamat.jalan} 
										{this.props.user.role.id === 2021 ? "" :  Pembina: {pt.pembina.nama} }
									 
										
									 | 
				);
			})
		);
	}
	handleApplyClick = () => {
		this.setState({ loading: true });
		this.fetchData();
		this.setState({ loading: false });
		if (this.state.data && this.state.data.length) {
			this.renderTableData();
			this.setState({ noData: true });
		}
	};
	handleSearchClick = () => {
		this.setState({ loading: true });
		this.fetchData();
		this.setState({ loading: false });
		if (this.state.data.length) {
			this.renderTableData();
			this.setState({ noData: true });
		}
	};
	render() {
		const { selectedOptionMulti, pembina } = this.state;
		return (
			
				
					
						Pelaporan
						
Pilih Perguruan Tinggi
					
						
							
						
					
				 
				
					
						
						
							{this.state.data.length ? (
Jumlah Pencarian : {this.state.data.length}
) : (
Search results
)}							
								
									
										| No. | Description | 
								
								{this.renderTableData()}
							
							
								{!this.state.data.length > 0 && this.state.noData && (
Data tidak ditemukan
)}
							 
						Filters
							
								
								
								
							
							
						
					)}
				
			
		);
	}
}
const mapStateToProps = (state) => ({ user: state.user, token: state.token });
export default connect(mapStateToProps)(Search);