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 (
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 (
Search Search and filter results
{this.props.user?.role.id === 2021 && `Pembina: ${this.props.user.lembaga.nama}`}
{/* START card */}
Search Results
{/* START table-responsive */} {this.renderTableData()}
No. Description
{/* END table-responsive */}
{/* END card */} {this.props.user?.role.id === 2021 ? ( "" ) : (

Filters