import { Component, OnInit } from '@angular/core';
import { SharedService } from '../../../shared/shared.service';
import { HttpClient } from '@angular/common/http';
import { ActivatedRoute, Router } from '@angular/router';
import { ToastrService } from 'ngx-toastr';
import { PagesService } from '../../../shared/pages.service';
import { Ng2SmartTableModule } from 'ng2-smart-table';
import { LocalDataSource } from 'ng2-smart-table';
import { SmartTableData } from '../../../@core/data/smart-table';
@Component({
selector: 'ngx-customers-list',
templateUrl: './customers-list.component.html',
styleUrls: ['./customers-list.component.scss']
})
export class CustomersListComponent implements OnInit {
source: LocalDataSource = new LocalDataSource();
constructor(
private auth: SharedService,
private http: HttpClient,
private route: ActivatedRoute,
private router: Router,
private toaster: ToastrService,
private pageser: PagesService,
private service: SmartTableData,
) { }
// settings = {
// edit: {
// editButtonContent: '',
// saveButtonContent: '',
// cancelButtonContent: '',
// },
// delete: {
// deleteButtonContent: '',
// confirmDelete: true,
// },
// selectMode: 'multi',
// actions: {
// add: false,
// delete: false,
// select: true,
// },
// columns: {
// name: {
// title: 'Name',
// type: 'string',
// },
// industrial: {
// title: 'industrial',
// type: 'string',
// },
// website_address: {
// title: 'website',
// type: 'string',
// },
// phone: {
// title: 'Phone',
// type: 'string',
// },
// },
// };
dataList = [];
dataListIds= [];
selectListIds = [];
dataTableNumber: number = 5;
currentPage:number = 1;
count: number;
perPagePagenation: number;
selectedAll: any;
ngOnInit() {
this.pageser.getListData(this.currentPage, this.dataTableNumber, 'all', 'customers')
.subscribe(
res => {
console.log(res);
this.dataList = res[('companies')];
console.log(this.dataList);
this.count = res[('count')];
console.log(this.count);
this.perPagePagenation = res[('per_page')];
},
err => {
console.log(err);
}
);
}
onGetValue(event){
this.dataTableNumber = event.target.value;
console.log(this.dataTableNumber);
this.dataList = [];
this.pageser.getListData(this.currentPage, this.dataTableNumber, 'all', 'customers')
.subscribe(
res => {
console.log(res);
this.dataList = res[('companies')];
console.log(this.dataList);
this.count = res[('count')];
this.perPagePagenation = res[('per_page')];
},
err => {
console.log(err);
}
);
}
onPageChange(pagenationNumber){
this.currentPage = pagenationNumber;
this.pageser.getListData(pagenationNumber,this.dataTableNumber , 'all' , 'customers')
.subscribe(
res => {
console.log(res);
this.dataList = [];
this.dataList = res[('users')];
this.count = res[('count')];
this.perPagePagenation = res[('per_page')];
},
err => {
console.log(err);
}
);
}
//make all checkbox of user checked
selectAll() {
console.log('selected alllllll');
for(let i = 0; i < this.dataList.length; i++){
this.dataList[i].selected = this.selectedAll;
}
}
checkIfAllSelected() {
this.selectedAll = this.dataList.every(function(item:any) {
return item.selected == true;
});
}
onDelete(){
this.dataListIds = [];
for (let i = 0; i < this.dataList.length; i++) {
if (this.dataList[i].selected == true) {
this.dataListIds.push(this.dataList[i].id);
}
}
console.log(this.dataListIds);
if(this.dataListIds.length > 0){
this.pageser.deleteItem(this.dataListIds,'customers ').subscribe(
res => {
console.log(res);
this.toaster.success('Deleted');
this.dataList = [];
this.pageser.getListData(this.currentPage, this.dataTableNumber,'all','customers' ).subscribe(
res => {
console.log(res);
this.dataList = res['companies'];
this.count = res['count'];
this.perPagePagenation = res['per_page'];
},
err => {
console.log(err);
; }
);
},
err => {
console.log(err);
this.toaster.error('sorry something went wrong!')
}
);
}else {
this.toaster.warning('No thing to delete')
}
}
onAdding(){
this.router.navigate(['pages/register']);
}
onEdit(editId: number) {
// this.router.navigate(['edit/' + editId]);
// console.log(editId);
}
}