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"; var pembina = []; const selectInstanceId = 1; class Search extends Component { state = { selectedOptionMulti: [], data: [], pembina: [], loading: 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 = (e, PT_ID) => { e.preventDefault(); 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 }); }; handleApplyClick = () => { this.setState({ loading: true }); this.fetchData(); this.setState({ loading: false }); if (this.state.data && this.state.data.length) { this.renderTableData(); } }; handleSearchClick = () => { this.setState({ loading: true }); this.fetchData(); this.setState({ loading: false }); if (this.state.data.length) { this.renderTableData(); } }; renderTableData() { return ( !this.state.loading && this.state.data && this.state.data.map((pt, index) => { return (
Dummy

{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 (
Pelaporan
Pilih Perguruan Tinggi
{ if (e.key === "Enter") { this.handleApplyClick(); } }} placeholder="Pencarian Nama Perguruan Tinggi" />
{this.props.user.role.id === 2021 && `Pembina: ${this.props.user.lembaga.nama}`}
Search Results
{this.renderTableData()}
No. Description
{this.props.user.role.id === 2021 ? ( "" ) : (

Filters