import React, { PureComponent } from 'react';
import { connect } from 'react-redux';
import * as config from '../config.js';
const $ = require('jquery');
$.DataTable = require('datatables.net');
let dt = null;
let propsobj=null;
class dataTable extends PureComponent {
// constructor(props){
// super(props);
// this.handleColumnVisible=this.handleColumnVisible.bind(this);
// }
render() {
const { columnsData } = this.props;
return (
this.el = el} className="table table-bordered table-hover table-striped w-100">
{/* */}
{
columnsData.map((item,index) => {
//console.log(item.get('联系人'));
return ({item.get('columnsName')} | )
})
}
);
}
componentDidMount() {
this.props.onRef(this);
propsobj=this.props;
this.$el = $(this.el);
dt = this.$el.DataTable(
{
"language": {
"paginate": {
"next": " ",
"previous": " "
},
},
ordering: false,
processing: true,
serverSide: true,
responsive: true,
autoWidth: true,
info: false,
searching: true,
dom: 'lBrtip',
lengthChange: false,
'ajax': {
url: config.CLD2API + this.props.url,
type: 'get',
"dataSrc": function ( res ) {
let bindDataEvend=propsobj.columnBindEvent(res);
return bindDataEvend.data;
}
},
columns: this.props.columns,
}
);
// td2.clear();
//console.log(td2.search('123', false, false));
//td2.row.add({ 'DT_RowId': '0', 'clientname': '21dd23' });
//td2.draw();
//console.log($.DataTable.column(2));
//this.$el.dataTable().search('123').draw();
//dt.search('123').draw();
}
handleSearch(filter) {
dt.search(JSON.stringify(filter)).draw();
// console.log(value);
}
handleColumnVisible(index,visible){
//console.log(index);
// let visible=localStorage.getItem('contact_client_Column_'+index);
//console.log(visible);
// let column=dt.columns(index);
// console.log(column.visible());
// //console.log(!column.visible());
// column.visible(false);
// setTimeout(() => {
// console.log('dd');
// column.visible(1);
// }, 350);
let column=dt.columns(index);
//column.visible(visible);
//let visible=1;
let boolVisible=true;
if(visible==='false'||visible===false){
boolVisible=false;
}
if(boolVisible){
column.visible(1);
}else{
column.visible(0);
}
//column.visible(visible);
}
}
const mapStateToProps = (state) => {
return {
}
}
const mapDispathToProps = (dispatch) => {
return {
ddd(){
}
}
}
export default connect(mapStateToProps, mapDispathToProps)(dataTable);
//export default dataTable;