// tslint:disable:member-ordering
|
import { Component, OnInit } from '@angular/core';
|
import { RandomUserService } from '../randomUser.service';
|
import { NzMessageService } from 'ng-zorro-antd';
|
|
@Component({
|
selector: 'app-table-standard',
|
templateUrl: './standard.component.html'
|
})
|
export class TableStandardComponent implements OnInit {
|
|
data = [
|
{
|
key: '1',
|
name: 'John Brown',
|
age: 32,
|
address: 'New York No. 1 Lake Park',
|
}, {
|
key: '2',
|
name: 'Jim Green',
|
age: 42,
|
address: 'London No. 1 Lake Park',
|
}, {
|
key: '3',
|
name: 'Joe Black',
|
age: 32,
|
address: 'Sidney No. 1 Lake Park',
|
}
|
];
|
|
ageSort = '';
|
|
ageSortChange($event) {
|
if ($event === 'ascend') {
|
this.data = [...this.data.sort((a, b) => {
|
return a.age - b.age;
|
})];
|
} else if ($event === 'descend') {
|
this.data = [...this.data.sort((a, b) => {
|
return b.age - a.age;
|
})];
|
}
|
}
|
|
_allChecked = false;
|
_indeterminate = false;
|
_displayData = [];
|
|
_displayDataChange($event) {
|
this._displayData = $event;
|
this._refreshStatus();
|
}
|
|
_refreshStatus() {
|
const allChecked = this._displayData.every(value => value.checked === true);
|
const allUnChecked = this._displayData.every(value => !value.checked);
|
this._allChecked = allChecked;
|
this._indeterminate = (!allChecked) && (!allUnChecked);
|
}
|
|
_checkAll(value) {
|
if (value) {
|
this._displayData.forEach(data => {
|
data.checked = true;
|
});
|
} else {
|
this._displayData.forEach(data => {
|
data.checked = false;
|
});
|
}
|
this._refreshStatus();
|
}
|
|
// ajax
|
_current = 1;
|
_pageSize = 3;
|
_total = 1;
|
_ajaxDataSet = [];
|
_ajaxLoading = true;
|
|
constructor(private _randomUser: RandomUserService, private message: NzMessageService) { }
|
|
_ajaxRefreshData = () => {
|
this._ajaxLoading = true;
|
this._randomUser.getUsers(this._current, this._pageSize).subscribe((data: any) => {
|
this._ajaxLoading = false;
|
this._total = 200;
|
this._ajaxDataSet = data.results;
|
});
|
}
|
|
ngOnInit() {
|
this._ajaxRefreshData();
|
|
this._genData();
|
}
|
|
// dynamic
|
_dataSet = [];
|
_bordered = false;
|
_loading = false;
|
_pagination = true;
|
_header = true;
|
_title = true;
|
_footer = true;
|
_size = 'small';
|
_noresult = false;
|
|
_toggleData() {
|
if (this._noresult) {
|
this._dataSet = [];
|
} else {
|
this._genData();
|
}
|
}
|
|
_genData() {
|
this._dataSet = [];
|
for (let i = 1; i <= 10; i++) {
|
this._dataSet.push({
|
key: i,
|
name: 'John Brown',
|
age: `${i}2`,
|
address: `New York No. ${i} Lake Park`,
|
description: `My name is John Brown, I am ${i}2 years old, living in New York No. ${i} Lake Park.`,
|
});
|
}
|
}
|
|
cancel = function () {
|
this.message.info('click cancel');
|
};
|
|
confirm = () => {
|
this.message.success('click confirm');
|
}
|
}
|