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';
// React Slider
import Slider from 'rc-slider';
import 'rc-slider/assets/index.css';
// React Select
import Select from 'react-select';
// DateTimePicker
import Datetime from 'react-datetime';
import 'react-datetime/css/react-datetime.css';
import https from 'https';
import CardTool from '@/components/Common/CardTool'
var pembina = [];
class Search extends Component {
static async getInitialProps(ctx) {
pembina = [];
const httpsAgent = new https.Agent({
rejectUnauthorized: false,
});
const res = await fetch('https://api.kemdikbud.go.id:8243/pddikti/1.2/lembaga-non-sp', {
method: 'get',
headers: new Headers({
'Authorization': 'Bearer 5b62f743-eef2-3370-8c66-6951b2e9c2c5',
'Accept': 'application/json'
}),
agent: httpsAgent
}
)
const jsonPembina = await res.json();
//jsonPembina = JSON.parse(jsonPembina);
// id: "ABEAE958-4F20-40EF-B145-B8014EC98D8F",nama: "Badan Intelijen Negara",singkatan: "BIN"
// { value: 'australian-capital-territory', label: 'Australian Capital Territory', className: 'State-ACT' },
var numrows = jsonPembina.length;
for (var i = 0; i < numrows; i++) {
pembina.push({value:jsonPembina[i].id, label:jsonPembina[i].nama, className: 'State-'+jsonPembina[i].singkatan});
}
console.log('pembina : ', pembina);
//return { data: json }
}
state = {
selectedOptionMulti: [],
data: []
}
handleChangeSelectMulti = (selectedOptionMulti) => {
this.setState({ selectedOptionMulti });
}
renderInputGroup = props => {
return (
)
}
handleClick = (e, PT_ID) => {
//router = useRouter();
const query = { ptId: PT_ID };
// '/app/profile'
e.preventDefault();
Router.push(
{
pathname: '/app/profile-pt',
query: { ptId: PT_ID }
}
);
}
fetchData = async () => {
var qPembina = "";
console.log('this.state.selectedOptionMulti.value : ', this.state.selectedOptionMulti.value);
if (this.state.selectedOptionMulti.value !== undefined ){
qPembina = '&pembina='+this.state.selectedOptionMulti.value;
}
//console.log('qpembina : ', qPembina);
const searchValue = 'q='+document.getElementById('searchInput').value;
const httpsAgent = new https.Agent({
rejectUnauthorized: false,
});
//console.log('post agent : ');
//const res = await fetch('https://api.kemdikbud.go.id:8243/pddikti/1.2/pt/707C3895-B546-4DA5-A6A7-EFE7461A7C7E', {
const res = await fetch('https://api.kemdikbud.go.id:8243/pddikti/1.2/pt?'+searchValue+qPembina, {
method: 'get',
headers: new Headers({
'Authorization': 'Bearer 5b62f743-eef2-3370-8c66-6951b2e9c2c5',
'Accept': 'application/json'
}),
agent: httpsAgent
}
)
const jsonData = await res.json();
this.setState({ data: jsonData });
//console.log('jsonData : ', jsonData);
//Get unique for filter by pembina
// const uniquePembina = [
// new Set(jsonData.map(
// item => item.pembina.nama
// ))
// ]
};
handleApplyClick = () => {
console.log('selectedOptionMulti : ',this.state.selectedOptionMulti);
//const dataTables = this.fetchData().jsonData;
this.fetchData();
//console.log('this.state.data :', this.state.data);
if (this.state.data.length > 0){
this.renderTableData();
}
}
handleSearchClick = () => {
//const dataTables = this.fetchData().jsonData;
this.fetchData();
//console.log('this.state.data :', this.state.data);
if (this.state.data.length > 0){
this.renderTableData();
}
}
renderTableData() {
//const dataTable = this.props.data;
//if (dataTable === true ) {
return this.state.data.map((pt,index) => {
return (
|
|
{pt.nama}
{pt.sk_pendirian} - {pt.website} - {pt.email}
{pt.alamat.jalan}
|
)
})
//}
}
render() {
// used for react select
const { selectedOptionMulti } = this.state;
return (
Search
Search and filter results
{/* START card */}
{/* setTimeout(done,2000)}/> */}
Search Results
{/* START table-responsive */}
{/* END table-responsive */}
{/*
*/}
{/*
*/}
{/* END card */}
Filters
);
}
}
export default Search;