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"; import { getCsrf } from "../../../actions/security"; 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) => { const getTokenCsrf = await getCsrf(); const _csrf = getTokenCsrf.token; e.preventDefault(); const { token } = this.props; await createLog(token, { aktivitas: `Mencari ${pt_name} untuk Pembuatan Laporan`, menu: "Pelaporan", _csrf: _csrf }); 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 (
Dummy

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

Data tidak ditemukan

)}
{this.props.user.role.id === 2021 ? ( "" ) : (

Filters