mirror of
https://github.com/ant-design/ant-design.git
synced 2025-01-18 14:13:37 +08:00
replace the table loading with spin
This commit is contained in:
parent
5c1a11710d
commit
b9ce4c7ddf
@ -17,7 +17,7 @@ let AntSpin = React.createClass({
|
||||
|
||||
render() {
|
||||
const props = this.props;
|
||||
|
||||
|
||||
let className = classSet({
|
||||
spin: 1,
|
||||
[`spin-${props.type}`]: 1,
|
||||
|
@ -5,6 +5,7 @@ import Checkbox from '../checkbox';
|
||||
import FilterDropdown from './filterDropdown';
|
||||
import Pagination from '../pagination';
|
||||
import objectAssign from 'object-assign';
|
||||
import Spin from '../spin';
|
||||
|
||||
function noop() {
|
||||
}
|
||||
@ -468,9 +469,6 @@ let AntTable = React.createClass({
|
||||
let columns = this.renderRowSelection();
|
||||
let classString = '';
|
||||
let expandIconAsCell = this.props.expandedRowRender && this.props.expandIconAsCell !== false;
|
||||
if (this.state.loading && !this.isLocalDataSource()) {
|
||||
classString += ' ant-table-loading';
|
||||
}
|
||||
if (this.props.size === 'small') {
|
||||
classString += ' ant-table-small';
|
||||
}
|
||||
@ -490,7 +488,23 @@ let AntTable = React.createClass({
|
||||
</div>;
|
||||
emptyClass = ' ant-table-empty';
|
||||
}
|
||||
return <div className={'clearfix' + emptyClass}>
|
||||
// spin holder
|
||||
let spinEl;
|
||||
let spinWrapperClass = '';
|
||||
if (this.state.loading && !this.isLocalDataSource()) {
|
||||
// if there is no pagination or no data, the height of spin should decrease by half of pagination
|
||||
let paginationPatchClass = (this.hasPagination() && data && data.length !== 0)
|
||||
? 'ant-table-with-pagination'
|
||||
: 'ant-table-without-pagination';
|
||||
let spinClass = `${paginationPatchClass} ant-table-spin-holder`;
|
||||
|
||||
spinEl = <div className={spinClass}>
|
||||
<Spin size="md" type="primary"/>
|
||||
</div>;
|
||||
|
||||
spinWrapperClass = ' ant-table-loading';
|
||||
}
|
||||
return <div className={'clearfix' + emptyClass + spinWrapperClass}>
|
||||
<Table
|
||||
{...this.props}
|
||||
data={data}
|
||||
@ -499,6 +513,7 @@ let AntTable = React.createClass({
|
||||
expandIconAsCell={expandIconAsCell}
|
||||
/>
|
||||
{emptyText}
|
||||
{spinEl}
|
||||
{this.renderPagination()}
|
||||
</div>;
|
||||
}
|
||||
|
@ -82,23 +82,21 @@
|
||||
&-loading {
|
||||
position: relative;
|
||||
.@{table-prefix-cls}-body {
|
||||
opacity: 0.42;
|
||||
opacity: 0.6;
|
||||
}
|
||||
&:after {
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
.animation(loadingCircle 1.5s infinite linear);
|
||||
content: "\e610";
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-top: -10px;
|
||||
margin-left: -10px;
|
||||
font-family: anticon;
|
||||
width: 20px;
|
||||
.@{table-prefix-cls}-spin-holder {
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
font-size: 20px;
|
||||
color: @primary-color;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
margin-left: -30px;
|
||||
position: absolute;
|
||||
}
|
||||
.@{table-prefix-cls}-with-pagination {
|
||||
margin-top: -20px;
|
||||
}
|
||||
.@{table-prefix-cls}-without-pagination {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user