import React, { Component } from "react";
import Router from "next/router";
import ContentWrapper from "@/components/Layout/ContentWrapper";
import { Row, Col, Button, Table } from "reactstrap";
import { getPT, getPembina } from "@/actions/PT";
import "rc-slider/assets/index.css";
import Select from "react-select";
import "react-datetime/css/react-datetime.css";
import { connect } from "react-redux";
import Loader from "@/components/Common/Loader";
const selectInstanceId = 1;
class Search extends Component {
	state = {
		pembina: [],
		selectedOptionMulti: [],
		data: [],
	};
	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 = (e, PT_ID) => {
		e.preventDefault();
		Router.push({
			pathname: "/app/pemantauan/timeline",
			query: { ptId: PT_ID },
		});
	};
	fetchData = async () => {
		const pembina = this.props.user.role.id === 2021 ? null : 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 ? jsonData.data : [] });
	};
	handleApplyClick = () => {
		this.fetchData();
		if (this.state.data && this.state.data.length) {
			this.renderTableData();
		}
	};
	handleSearchClick = () => {
		this.fetchData();
		if (this.state.data && this.state.data.length) {
			this.renderTableData();
		}
	};
	renderTableData() {
		return (
			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} }
									 
										
									 | 
				);
			})
		);
	}
	render() {
		const { selectedOptionMulti, pembina } = this.state;
		return (
			
				
					
						Search
						{/* Search and filter results */}
					
				 
				
					
						
						{/* START card */}
						
							Search Results
							{/* START table-responsive */}
							
								
									
										| No. | Description | 
								
								{this.renderTableData()}
							
							{/* END table-responsive */}
							
						 
						{/* END card */}
					
					{this.props.user?.role.id === 2021 ? (
						""
					) : (
						
							Filters
							
								
								
								
							
							
						
					)}
				
			
		);
	}
}
const mapStateToProps = (state) => ({ user: state.user, token: state.token });
export default connect(mapStateToProps)(Search);