新增特性产出
This commit is contained in:
parent
3a7d33cdc0
commit
4825c40c4b
|
@ -29,7 +29,8 @@ var propTypes = {
|
||||||
fixed: _propTypes2["default"].oneOf([true, 'left', 'right']),
|
fixed: _propTypes2["default"].oneOf([true, 'left', 'right']),
|
||||||
render: _propTypes2["default"].func,
|
render: _propTypes2["default"].func,
|
||||||
onCellClick: _propTypes2["default"].func,
|
onCellClick: _propTypes2["default"].func,
|
||||||
ifshow: _propTypes2["default"].bool
|
ifshow: _propTypes2["default"].bool,
|
||||||
|
fieldType: _propTypes2["default"].string // 类型
|
||||||
};
|
};
|
||||||
|
|
||||||
var Column = function (_Component) {
|
var Column = function (_Component) {
|
||||||
|
|
|
@ -30,10 +30,10 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
||||||
|
|
||||||
//行控制管理
|
//行控制管理
|
||||||
var ColumnManager = function () {
|
var ColumnManager = function () {
|
||||||
function ColumnManager(columns, elements, originWidth, rowDraggAble) {
|
function ColumnManager(columns, elements, originWidth, rowDraggAble, showRowNum) {
|
||||||
_classCallCheck(this, ColumnManager);
|
_classCallCheck(this, ColumnManager);
|
||||||
|
|
||||||
this._cached = {};
|
_initialiseProps.call(this);
|
||||||
|
|
||||||
//判断是否使用行拖拽
|
//判断是否使用行拖拽
|
||||||
if (rowDraggAble) {
|
if (rowDraggAble) {
|
||||||
|
@ -50,10 +50,16 @@ var ColumnManager = function () {
|
||||||
}];
|
}];
|
||||||
columns = dragHandleColumn.concat(columns);
|
columns = dragHandleColumn.concat(columns);
|
||||||
}
|
}
|
||||||
|
columns = this.addOrderColumn(columns, showRowNum);
|
||||||
|
|
||||||
this.columns = columns || this.normalize(elements);
|
this.columns = columns || this.normalize(elements);
|
||||||
|
|
||||||
this.originWidth = originWidth;
|
this.originWidth = originWidth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 向数据列中添加一列:序号
|
||||||
|
|
||||||
|
|
||||||
ColumnManager.prototype.isAnyColumnsFixed = function isAnyColumnsFixed() {
|
ColumnManager.prototype.isAnyColumnsFixed = function isAnyColumnsFixed() {
|
||||||
var _this = this;
|
var _this = this;
|
||||||
|
|
||||||
|
@ -226,7 +232,8 @@ var ColumnManager = function () {
|
||||||
return element && (element.type === _Column2["default"] || element.type === _ColumnGroup2["default"]);
|
return element && (element.type === _Column2["default"] || element.type === _ColumnGroup2["default"]);
|
||||||
};
|
};
|
||||||
|
|
||||||
ColumnManager.prototype.reset = function reset(columns, elements) {
|
ColumnManager.prototype.reset = function reset(columns, elements, showRowNum) {
|
||||||
|
columns = this.addOrderColumn(columns, showRowNum);
|
||||||
this.columns = columns || this.normalize(elements);
|
this.columns = columns || this.normalize(elements);
|
||||||
this._cached = {};
|
this._cached = {};
|
||||||
};
|
};
|
||||||
|
@ -327,5 +334,29 @@ var ColumnManager = function () {
|
||||||
return ColumnManager;
|
return ColumnManager;
|
||||||
}();
|
}();
|
||||||
|
|
||||||
|
var _initialiseProps = function _initialiseProps() {
|
||||||
|
this._cached = {};
|
||||||
|
|
||||||
|
this.addOrderColumn = function (columns, showRowNum) {
|
||||||
|
if (!showRowNum) {
|
||||||
|
return columns;
|
||||||
|
}
|
||||||
|
var order = {
|
||||||
|
dataIndex: showRowNum.key || '_index',
|
||||||
|
key: '_index',
|
||||||
|
fixed: showRowNum.fixed || 'left',
|
||||||
|
width: showRowNum.width || 50,
|
||||||
|
title: showRowNum.name || '序号'
|
||||||
|
};
|
||||||
|
if (columns.length > 0 && columns[0].dataIndex !== 'checkbox' && columns[0].dataIndex !== 'radio') {
|
||||||
|
// 多选表格/单选表格时放在第二列,其他情况放到第一列
|
||||||
|
columns = [order].concat(columns);
|
||||||
|
} else {
|
||||||
|
columns.splice(1, 0, order); // splice方法改变原数组,返回切割出的数组,此处为[]
|
||||||
|
}
|
||||||
|
return columns;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
exports["default"] = ColumnManager;
|
exports["default"] = ColumnManager;
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
|
@ -438,8 +438,8 @@
|
||||||
-moz-user-select: -moz-none;
|
-moz-user-select: -moz-none;
|
||||||
-khtml-user-select: none;
|
-khtml-user-select: none;
|
||||||
-webkit-user-select: none;
|
-webkit-user-select: none;
|
||||||
/*
|
/*
|
||||||
Introduced in IE 10.
|
Introduced in IE 10.
|
||||||
*/
|
*/
|
||||||
-ms-user-select: none;
|
-ms-user-select: none;
|
||||||
user-select: none; }
|
user-select: none; }
|
||||||
|
@ -599,6 +599,11 @@
|
||||||
.u-table .u-table-drag-hidden-cont {
|
.u-table .u-table-drag-hidden-cont {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 40px; }
|
height: 40px; }
|
||||||
|
.u-table .u-table-link {
|
||||||
|
cursor: pointer;
|
||||||
|
color: #0073E1; }
|
||||||
|
.u-table .u-table-link-underline:hover {
|
||||||
|
text-decoration: underline; }
|
||||||
|
|
||||||
.u-table:focus {
|
.u-table:focus {
|
||||||
outline: none;
|
outline: none;
|
||||||
|
|
|
@ -114,7 +114,10 @@ var propTypes = {
|
||||||
size: _propTypes2["default"].oneOf(['sm', 'md', 'lg']),
|
size: _propTypes2["default"].oneOf(['sm', 'md', 'lg']),
|
||||||
rowDraggAble: _propTypes2["default"].bool,
|
rowDraggAble: _propTypes2["default"].bool,
|
||||||
onDropRow: _propTypes2["default"].func,
|
onDropRow: _propTypes2["default"].func,
|
||||||
onDragRowStart: _propTypes2["default"].func
|
onDragRowStart: _propTypes2["default"].func,
|
||||||
|
bodyDisplayInRow: _propTypes2["default"].bool, // 表格内容超出列宽度时进行换行 or 以...形式展现
|
||||||
|
headerDisplayInRow: _propTypes2["default"].bool, // 表头内容超出列宽度时进行换行 or 以...形式展现
|
||||||
|
showRowNum: _propTypes2["default"].object // 表格是否自动生成序号,格式为{base:number || 0,defaultKey:string || '_index',defaultName:string || '序号'}
|
||||||
};
|
};
|
||||||
|
|
||||||
var defaultProps = {
|
var defaultProps = {
|
||||||
|
@ -161,7 +164,10 @@ var defaultProps = {
|
||||||
size: 'md',
|
size: 'md',
|
||||||
rowDraggAble: false,
|
rowDraggAble: false,
|
||||||
onDropRow: function onDropRow() {},
|
onDropRow: function onDropRow() {},
|
||||||
onDragRowStart: function onDragRowStart() {}
|
onDragRowStart: function onDragRowStart() {},
|
||||||
|
bodyDisplayInRow: true,
|
||||||
|
headerDisplayInRow: true,
|
||||||
|
showRowNum: false
|
||||||
};
|
};
|
||||||
|
|
||||||
var Table = function (_Component) {
|
var Table = function (_Component) {
|
||||||
|
@ -292,7 +298,7 @@ var Table = function (_Component) {
|
||||||
|
|
||||||
var expandedRowKeys = [];
|
var expandedRowKeys = [];
|
||||||
var rows = [].concat(_toConsumableArray(props.data));
|
var rows = [].concat(_toConsumableArray(props.data));
|
||||||
_this.columnManager = new _ColumnManager2["default"](props.columns, props.children, props.originWidth, props.rowDraggAble);
|
_this.columnManager = new _ColumnManager2["default"](props.columns, props.children, props.originWidth, props.rowDraggAble, props.showRowNum); // 加入props.showRowNum参数
|
||||||
_this.store = (0, _createStore2["default"])({ currentHoverKey: null });
|
_this.store = (0, _createStore2["default"])({ currentHoverKey: null });
|
||||||
_this.firstDid = true;
|
_this.firstDid = true;
|
||||||
if (props.defaultExpandAllRows) {
|
if (props.defaultExpandAllRows) {
|
||||||
|
@ -376,12 +382,12 @@ var Table = function (_Component) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (nextProps.columns && nextProps.columns !== this.props.columns) {
|
if (nextProps.columns && nextProps.columns !== this.props.columns) {
|
||||||
this.columnManager.reset(nextProps.columns);
|
this.columnManager.reset(nextProps.columns, null, this.props.showRowNum); // 加入this.props.showRowNum参数
|
||||||
if (nextProps.columns.length !== this.props.columns.length && this.refs && this.bodyTable) {
|
if (nextProps.columns.length !== this.props.columns.length && this.refs && this.bodyTable) {
|
||||||
this.scrollTop = this.bodyTable.scrollTop;
|
this.scrollTop = this.bodyTable.scrollTop;
|
||||||
}
|
}
|
||||||
} else if (nextProps.children !== this.props.children) {
|
} else if (nextProps.children !== this.props.children) {
|
||||||
this.columnManager.reset(null, nextProps.children);
|
this.columnManager.reset(null, nextProps.children, this.porps.showRowNum); // 加入this.props.showRowNum参数
|
||||||
}
|
}
|
||||||
//适配lazyload
|
//适配lazyload
|
||||||
if (nextProps.scrollTop > -1) {
|
if (nextProps.scrollTop > -1) {
|
||||||
|
@ -429,6 +435,7 @@ var Table = function (_Component) {
|
||||||
};
|
};
|
||||||
|
|
||||||
Table.prototype.componentWillUnmount = function componentWillUnmount() {
|
Table.prototype.componentWillUnmount = function componentWillUnmount() {
|
||||||
|
// 移除绑定事件,避免内存泄漏
|
||||||
this.contentTable = null;
|
this.contentTable = null;
|
||||||
_utils.EventUtil.removeHandler(this.contentTable, 'keydown', this.onKeyDown);
|
_utils.EventUtil.removeHandler(this.contentTable, 'keydown', this.onKeyDown);
|
||||||
_utils.EventUtil.removeHandler(this.contentTable, 'focus', this.onFocus);
|
_utils.EventUtil.removeHandler(this.contentTable, 'focus', this.onFocus);
|
||||||
|
@ -830,6 +837,9 @@ var Table = function (_Component) {
|
||||||
var lazyEndIndex = props.lazyLoad && props.lazyLoad.endIndex ? props.lazyLoad.endIndex : -1;
|
var lazyEndIndex = props.lazyLoad && props.lazyLoad.endIndex ? props.lazyLoad.endIndex : -1;
|
||||||
for (var i = 0; i < data.length; i++) {
|
for (var i = 0; i < data.length; i++) {
|
||||||
var isHiddenExpandIcon = void 0;
|
var isHiddenExpandIcon = void 0;
|
||||||
|
if (props.showRowNum) {
|
||||||
|
data[i][props.showRowNum.key || '_index'] = i + (props.showRowNum.base || 0);
|
||||||
|
}
|
||||||
var record = data[i];
|
var record = data[i];
|
||||||
var key = this.getRowKey(record, i);
|
var key = this.getRowKey(record, i);
|
||||||
var childrenColumn = record[childrenColumnName];
|
var childrenColumn = record[childrenColumnName];
|
||||||
|
@ -1041,7 +1051,7 @@ var Table = function (_Component) {
|
||||||
useFixedHeader = _props4.useFixedHeader,
|
useFixedHeader = _props4.useFixedHeader,
|
||||||
data = _props4.data;
|
data = _props4.data;
|
||||||
|
|
||||||
var bodyStyle = _extends({}, this.props.bodyStyle);
|
var bodyStyle = _extends({}, this.props.bodyStyle); // 这里为什么不写在上面?
|
||||||
var headStyle = {};
|
var headStyle = {};
|
||||||
var innerBodyStyle = {};
|
var innerBodyStyle = {};
|
||||||
var leftFixedWidth = this.columnManager.getLeftColumnsWidth(this.contentWidth);
|
var leftFixedWidth = this.columnManager.getLeftColumnsWidth(this.contentWidth);
|
||||||
|
|
|
@ -44,6 +44,55 @@ var TableCell = function (_Component) {
|
||||||
|
|
||||||
var _this = _possibleConstructorReturn(this, _Component.call(this, props));
|
var _this = _possibleConstructorReturn(this, _Component.call(this, props));
|
||||||
|
|
||||||
|
_this.renderLinkType = function (data, record) {
|
||||||
|
var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
||||||
|
var index = arguments[3];
|
||||||
|
var url = config.url,
|
||||||
|
urlIndex = config.urlIndex,
|
||||||
|
linkType = config.linkType,
|
||||||
|
className = config.className,
|
||||||
|
underline = config.underline,
|
||||||
|
descIndex = config.descIndex,
|
||||||
|
desc = config.desc,
|
||||||
|
linkColor = config.linkColor;
|
||||||
|
|
||||||
|
var linkUrl = '';
|
||||||
|
if (url) {
|
||||||
|
linkUrl = url(data, record, index);
|
||||||
|
} else if (urlIndex) {
|
||||||
|
linkUrl = record[urlIndex];
|
||||||
|
}
|
||||||
|
if (linkUrl) {
|
||||||
|
var link = function link() {
|
||||||
|
window.open(linkUrl, linkType || '_blank');
|
||||||
|
};
|
||||||
|
var cls = 'u-table-link ';
|
||||||
|
if (className) {
|
||||||
|
cls += className + ' ';
|
||||||
|
}
|
||||||
|
if (underline) {
|
||||||
|
cls += 'u-table-link-underline ';
|
||||||
|
}
|
||||||
|
var title = '';
|
||||||
|
|
||||||
|
if (desc === true) {
|
||||||
|
title = linkUrl;
|
||||||
|
} else if (typeof desc === 'string') {
|
||||||
|
title = desc;
|
||||||
|
} else if (typeof desc === 'function') {
|
||||||
|
title = desc(data, record, index);
|
||||||
|
} else if (descIndex) {
|
||||||
|
title = record[descIndex];
|
||||||
|
}
|
||||||
|
return _react2["default"].createElement(
|
||||||
|
'span',
|
||||||
|
{ onClick: link, className: cls, style: { color: linkColor || '' }, title: title },
|
||||||
|
data
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
};
|
||||||
|
|
||||||
_this.isInvalidRenderCellText = _this.isInvalidRenderCellText.bind(_this);
|
_this.isInvalidRenderCellText = _this.isInvalidRenderCellText.bind(_this);
|
||||||
_this.handleClick = _this.handleClick.bind(_this);
|
_this.handleClick = _this.handleClick.bind(_this);
|
||||||
return _this;
|
return _this;
|
||||||
|
@ -63,6 +112,9 @@ var TableCell = function (_Component) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 渲染链接类型
|
||||||
|
|
||||||
|
|
||||||
TableCell.prototype.render = function render() {
|
TableCell.prototype.render = function render() {
|
||||||
var _props2 = this.props,
|
var _props2 = this.props,
|
||||||
record = _props2.record,
|
record = _props2.record,
|
||||||
|
@ -78,7 +130,9 @@ var TableCell = function (_Component) {
|
||||||
lazyStartIndex = _props2.lazyStartIndex,
|
lazyStartIndex = _props2.lazyStartIndex,
|
||||||
lazyEndIndex = _props2.lazyEndIndex;
|
lazyEndIndex = _props2.lazyEndIndex;
|
||||||
var dataIndex = column.dataIndex,
|
var dataIndex = column.dataIndex,
|
||||||
render = column.render;
|
render = column.render,
|
||||||
|
fieldType = column.fieldType,
|
||||||
|
linkConfig = column.linkConfig;
|
||||||
var _column$className = column.className,
|
var _column$className = column.className,
|
||||||
className = _column$className === undefined ? '' : _column$className;
|
className = _column$className === undefined ? '' : _column$className;
|
||||||
|
|
||||||
|
@ -99,6 +153,21 @@ var TableCell = function (_Component) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 根据 fieldType 来渲染数据
|
||||||
|
if (!render) {
|
||||||
|
switch (column.fieldType) {
|
||||||
|
case 'link':
|
||||||
|
{
|
||||||
|
text = this.renderLinkType(text, record, column.linkConfig, index);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (this.isInvalidRenderCellText(text)) {
|
if (this.isInvalidRenderCellText(text)) {
|
||||||
text = null;
|
text = null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
Object.defineProperty(exports, "__esModule", {
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
||||||
|
@ -35,115 +35,115 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
||||||
|
|
||||||
function dragColumn(Table) {
|
function dragColumn(Table) {
|
||||||
|
|
||||||
return function (_Component) {
|
return function (_Component) {
|
||||||
_inherits(DragColumn, _Component);
|
_inherits(DragColumn, _Component);
|
||||||
|
|
||||||
function DragColumn(props) {
|
function DragColumn(props) {
|
||||||
_classCallCheck(this, DragColumn);
|
_classCallCheck(this, DragColumn);
|
||||||
|
|
||||||
var _this = _possibleConstructorReturn(this, _Component.call(this, props));
|
var _this = _possibleConstructorReturn(this, _Component.call(this, props));
|
||||||
|
|
||||||
_this.setColumOrderByIndex = function (_column) {
|
_this.setColumOrderByIndex = function (_column) {
|
||||||
_column.forEach(function (da, i) {
|
_column.forEach(function (da, i) {
|
||||||
da.dragIndex = i;
|
da.dragIndex = i;
|
||||||
da.drgHover = false;
|
da.drgHover = false;
|
||||||
});
|
});
|
||||||
return _column;
|
return _column;
|
||||||
};
|
};
|
||||||
|
|
||||||
_this.onDragEnd = function (event, data) {
|
_this.onDragEnd = function (event, data) {
|
||||||
var dragSource = data.dragSource,
|
var dragSource = data.dragSource,
|
||||||
dragTarg = data.dragTarg;
|
dragTarg = data.dragTarg;
|
||||||
var columns = _this.state.columns;
|
var columns = _this.state.columns;
|
||||||
|
|
||||||
var sourceIndex = -1,
|
var sourceIndex = -1,
|
||||||
targetIndex = -1;
|
targetIndex = -1;
|
||||||
|
|
||||||
sourceIndex = columns.findIndex(function (da, i) {
|
sourceIndex = columns.findIndex(function (da, i) {
|
||||||
return da.key == dragSource.key;
|
return da.key == dragSource.key;
|
||||||
});
|
});
|
||||||
targetIndex = columns.findIndex(function (da, i) {
|
targetIndex = columns.findIndex(function (da, i) {
|
||||||
return da.key == dragTarg.key;
|
return da.key == dragTarg.key;
|
||||||
});
|
});
|
||||||
// 向前移动
|
// 向前移动
|
||||||
if (targetIndex < sourceIndex) {
|
if (targetIndex < sourceIndex) {
|
||||||
targetIndex = targetIndex + 1;
|
targetIndex = targetIndex + 1;
|
||||||
|
}
|
||||||
|
columns.splice(targetIndex, 0, columns.splice(sourceIndex, 1)[0]);
|
||||||
|
var _newColumns = [];
|
||||||
|
columns.forEach(function (da, i) {
|
||||||
|
var newDate = _extends(da, {});
|
||||||
|
newDate.title = da.title;
|
||||||
|
_newColumns.push(newDate);
|
||||||
|
});
|
||||||
|
_this.setState({
|
||||||
|
columns: _newColumns //cloneDeep(columns)
|
||||||
|
});
|
||||||
|
if (_this.props.onDragEnd) {
|
||||||
|
_this.props.onDragEnd(event, data, columns);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
_this.getTarget = function (evt) {
|
||||||
|
return evt.target || evt.srcElement;
|
||||||
|
};
|
||||||
|
|
||||||
|
_this.state = {
|
||||||
|
columns: _this.setColumOrderByIndex(props.columns)
|
||||||
|
};
|
||||||
|
return _this;
|
||||||
}
|
}
|
||||||
columns.splice(targetIndex, 0, columns.splice(sourceIndex, 1)[0]);
|
|
||||||
var _newColumns = [];
|
DragColumn.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
|
||||||
columns.forEach(function (da, i) {
|
if (nextProps.columns != this.props.columns) {
|
||||||
var newDate = _extends(da, {});
|
this.setState({
|
||||||
newDate.title = da.title;
|
columns: this.setColumOrderByIndex(nextProps.columns)
|
||||||
_newColumns.push(newDate);
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
DragColumn.prototype.recursion = function (_recursion) {
|
||||||
|
function recursion(_x) {
|
||||||
|
return _recursion.apply(this, arguments);
|
||||||
|
}
|
||||||
|
|
||||||
|
recursion.toString = function () {
|
||||||
|
return _recursion.toString();
|
||||||
|
};
|
||||||
|
|
||||||
|
return recursion;
|
||||||
|
}(function (obj) {
|
||||||
|
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
||||||
|
|
||||||
|
for (key in obj) {
|
||||||
|
if (_typeof(obj[key]) == 'object' && Object.keys(obj[key].length > 0)) {
|
||||||
|
data[key] = recursion(obj[key]);
|
||||||
|
} else {
|
||||||
|
data[key] = obj[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return data;
|
||||||
});
|
});
|
||||||
_this.setState({
|
|
||||||
columns: _newColumns //cloneDeep(columns)
|
|
||||||
});
|
|
||||||
if (_this.props.onDragEnd) {
|
|
||||||
_this.props.onDragEnd(event, data, columns);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
_this.getTarget = function (evt) {
|
DragColumn.prototype.render = function render() {
|
||||||
return evt.target || evt.srcElement;
|
var _props = this.props,
|
||||||
};
|
data = _props.data,
|
||||||
|
dragborder = _props.dragborder,
|
||||||
|
draggable = _props.draggable,
|
||||||
|
className = _props.className,
|
||||||
|
others = _objectWithoutProperties(_props, ['data', 'dragborder', 'draggable', 'className']);
|
||||||
|
|
||||||
_this.state = {
|
return _react2["default"].createElement(Table, _extends({}, others, {
|
||||||
columns: _this.setColumOrderByIndex(props.columns)
|
columns: this.state.columns,
|
||||||
};
|
data: data,
|
||||||
return _this;
|
className: className + ' u-table-drag-border',
|
||||||
}
|
onDragEnd: this.onDragEnd,
|
||||||
|
draggable: draggable,
|
||||||
|
dragborder: dragborder
|
||||||
|
}));
|
||||||
|
};
|
||||||
|
|
||||||
DragColumn.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
|
return DragColumn;
|
||||||
if (nextProps.columns != this.props.columns) {
|
}(_react.Component);
|
||||||
this.setState({
|
|
||||||
columns: this.setColumOrderByIndex(nextProps.columns)
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
DragColumn.prototype.recursion = function (_recursion) {
|
|
||||||
function recursion(_x) {
|
|
||||||
return _recursion.apply(this, arguments);
|
|
||||||
}
|
|
||||||
|
|
||||||
recursion.toString = function () {
|
|
||||||
return _recursion.toString();
|
|
||||||
};
|
|
||||||
|
|
||||||
return recursion;
|
|
||||||
}(function (obj) {
|
|
||||||
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
||||||
|
|
||||||
for (key in obj) {
|
|
||||||
if (_typeof(obj[key]) == 'object' && Object.keys(obj[key].length > 0)) {
|
|
||||||
data[key] = recursion(obj[key]);
|
|
||||||
} else {
|
|
||||||
data[key] = obj[key];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return data;
|
|
||||||
});
|
|
||||||
|
|
||||||
DragColumn.prototype.render = function render() {
|
|
||||||
var _props = this.props,
|
|
||||||
data = _props.data,
|
|
||||||
dragborder = _props.dragborder,
|
|
||||||
draggable = _props.draggable,
|
|
||||||
className = _props.className,
|
|
||||||
others = _objectWithoutProperties(_props, ['data', 'dragborder', 'draggable', 'className']);
|
|
||||||
|
|
||||||
return _react2["default"].createElement(Table, _extends({}, others, {
|
|
||||||
columns: this.state.columns,
|
|
||||||
data: data,
|
|
||||||
className: className + ' u-table-drag-border',
|
|
||||||
onDragEnd: this.onDragEnd,
|
|
||||||
draggable: draggable,
|
|
||||||
dragborder: dragborder
|
|
||||||
}));
|
|
||||||
};
|
|
||||||
|
|
||||||
return DragColumn;
|
|
||||||
}(_react.Component);
|
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
|
@ -121,11 +121,14 @@ function multiSelect(Table, Checkbox) {
|
||||||
return Object.prototype.toString.call(o) == '[object Array]';
|
return Object.prototype.toString.call(o) == '[object Array]';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 实现行点击时触发多选框勾选的需求
|
||||||
|
|
||||||
|
|
||||||
MultiSelect.prototype.render = function render() {
|
MultiSelect.prototype.render = function render() {
|
||||||
var columns = this.props.columns;
|
var columns = this.props.columns;
|
||||||
var data = this.state.data;
|
var data = this.state.data;
|
||||||
|
|
||||||
return _react2["default"].createElement(Table, _extends({}, this.props, { columns: this.getDefaultColumns(columns), data: data }));
|
return _react2["default"].createElement(Table, _extends({}, this.props, { columns: this.getDefaultColumns(columns), data: data, onRowClick: this.onRowClick }));
|
||||||
};
|
};
|
||||||
|
|
||||||
return MultiSelect;
|
return MultiSelect;
|
||||||
|
@ -240,6 +243,13 @@ function multiSelect(Table, Checkbox) {
|
||||||
}];
|
}];
|
||||||
return _defaultColumns.concat(columns);
|
return _defaultColumns.concat(columns);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.onRowClick = function (record, index, event) {
|
||||||
|
_this2.onCheckboxChange('', record, index)();
|
||||||
|
if (_this2.props.onRowClick) {
|
||||||
|
_this2.props.onRowClick(record, index, event);
|
||||||
|
}
|
||||||
|
};
|
||||||
}, _temp;
|
}, _temp;
|
||||||
}
|
}
|
||||||
module.exports = exports["default"];
|
module.exports = exports["default"];
|
|
@ -125,6 +125,11 @@ function sort(Table, Icon) {
|
||||||
//点击置为“”时,动态的设置相关column的orderNum值。并排序
|
//点击置为“”时,动态的设置相关column的orderNum值。并排序
|
||||||
|
|
||||||
|
|
||||||
|
// 默认的比较函数,即字符串比较函数
|
||||||
|
|
||||||
|
// 数值比较函数
|
||||||
|
|
||||||
|
|
||||||
SortTable.prototype._flatToColumn = function _flatToColumn(flatColumns) {
|
SortTable.prototype._flatToColumn = function _flatToColumn(flatColumns) {
|
||||||
var colLen = flatColumns.length;
|
var colLen = flatColumns.length;
|
||||||
var parentIndex = void 0,
|
var parentIndex = void 0,
|
||||||
|
@ -335,8 +340,13 @@ function sort(Table, Icon) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var sortButton = void 0;
|
var sortButton = void 0;
|
||||||
if (column.sorter) {
|
|
||||||
|
// sorter和sortEnable均可触发排序,且sorter优先级更高
|
||||||
|
if (column.sorter || column.sortEnable) {
|
||||||
//大于0说明不是升序就是降序,判断orderNum有没有值,没有值赋值
|
//大于0说明不是升序就是降序,判断orderNum有没有值,没有值赋值
|
||||||
|
if (column.sortEnable && !column.sorter) {
|
||||||
|
column.sorter = column.fieldType === 'number' ? _this3.numberSortFn(column.dataIndex) : _this3.defaultSortFn(column.dataIndex);
|
||||||
|
}
|
||||||
if (iconTypeIndex > 0 && !column.orderNum && mode == "multiple") {
|
if (iconTypeIndex > 0 && !column.orderNum && mode == "multiple") {
|
||||||
column.orderNum = _this3.getOrderNum();
|
column.orderNum = _this3.getOrderNum();
|
||||||
}
|
}
|
||||||
|
@ -369,6 +379,20 @@ function sort(Table, Icon) {
|
||||||
);
|
);
|
||||||
return column;
|
return column;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.defaultSortFn = function (key) {
|
||||||
|
return function (a, b) {
|
||||||
|
return a[key] > b[key] ? 1 : -1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
this.numberSortFn = function (key) {
|
||||||
|
return function (a, b) {
|
||||||
|
var numberA = parseFloat(a[key]);
|
||||||
|
var numberB = parseFloat(b[key]);
|
||||||
|
return numberA > numberB ? 1 : -1;
|
||||||
|
};
|
||||||
|
};
|
||||||
}, _temp;
|
}, _temp;
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
|
@ -1,7 +1,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
Object.defineProperty(exports, "__esModule", {
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
||||||
|
@ -20,29 +20,29 @@ exports.ObjectAssign = ObjectAssign;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function sortBy(arr, prop, desc) {
|
function sortBy(arr, prop, desc) {
|
||||||
var props = [],
|
var props = [],
|
||||||
ret = [],
|
ret = [],
|
||||||
i = 0,
|
i = 0,
|
||||||
len = arr.length;
|
len = arr.length;
|
||||||
if (typeof prop == 'string') {
|
if (typeof prop == 'string') {
|
||||||
for (; i < len; i++) {
|
for (; i < len; i++) {
|
||||||
var oI = arr[i];
|
var oI = arr[i];
|
||||||
(props[i] = new String(oI && oI[prop] || ''))._obj = oI;
|
(props[i] = new String(oI && oI[prop] || ''))._obj = oI;
|
||||||
}
|
|
||||||
} else if (typeof prop == 'function') {
|
|
||||||
for (; i < len; i++) {
|
|
||||||
var _oI = arr[i];
|
|
||||||
(props[i] = new String(_oI && prop(_oI) || ''))._obj = _oI;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
throw '参数类型错误';
|
|
||||||
}
|
}
|
||||||
props.sort();
|
} else if (typeof prop == 'function') {
|
||||||
for (i = 0; i < len; i++) {
|
for (; i < len; i++) {
|
||||||
ret[i] = props[i]._obj;
|
var _oI = arr[i];
|
||||||
|
(props[i] = new String(_oI && prop(_oI) || ''))._obj = _oI;
|
||||||
}
|
}
|
||||||
if (desc) ret.reverse();
|
} else {
|
||||||
return ret;
|
throw '参数类型错误';
|
||||||
|
}
|
||||||
|
props.sort();
|
||||||
|
for (i = 0; i < len; i++) {
|
||||||
|
ret[i] = props[i]._obj;
|
||||||
|
}
|
||||||
|
if (desc) ret.reverse();
|
||||||
|
return ret;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -51,11 +51,11 @@ function sortBy(arr, prop, desc) {
|
||||||
* @param {} property
|
* @param {} property
|
||||||
*/
|
*/
|
||||||
function compare(property) {
|
function compare(property) {
|
||||||
return function (a, b) {
|
return function (a, b) {
|
||||||
var value1 = a[property];
|
var value1 = a[property];
|
||||||
var value2 = b[property];
|
var value2 = b[property];
|
||||||
return value1 - value2;
|
return value1 - value2;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -63,17 +63,17 @@ function compare(property) {
|
||||||
* @param {*} obj 要拷贝的对象
|
* @param {*} obj 要拷贝的对象
|
||||||
*/
|
*/
|
||||||
function ObjectAssign(obj) {
|
function ObjectAssign(obj) {
|
||||||
var b = obj instanceof Array;
|
var b = obj instanceof Array;
|
||||||
var tagObj = b ? [] : {};
|
var tagObj = b ? [] : {};
|
||||||
if (b) {
|
if (b) {
|
||||||
//数组
|
//数组
|
||||||
obj.forEach(function (da) {
|
obj.forEach(function (da) {
|
||||||
var _da = {};
|
var _da = {};
|
||||||
_extends(_da, da);
|
_extends(_da, da);
|
||||||
tagObj.push(_da);
|
tagObj.push(_da);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
_extends(tagObj, obj);
|
_extends(tagObj, obj);
|
||||||
}
|
}
|
||||||
return tagObj;
|
return tagObj;
|
||||||
}
|
}
|
|
@ -37593,7 +37593,10 @@
|
||||||
size: _propTypes2['default'].oneOf(['sm', 'md', 'lg']),
|
size: _propTypes2['default'].oneOf(['sm', 'md', 'lg']),
|
||||||
rowDraggAble: _propTypes2['default'].bool,
|
rowDraggAble: _propTypes2['default'].bool,
|
||||||
onDropRow: _propTypes2['default'].func,
|
onDropRow: _propTypes2['default'].func,
|
||||||
onDragRowStart: _propTypes2['default'].func
|
onDragRowStart: _propTypes2['default'].func,
|
||||||
|
bodyDisplayInRow: _propTypes2['default'].bool, // 表格内容超出列宽度时进行换行 or 以...形式展现
|
||||||
|
headerDisplayInRow: _propTypes2['default'].bool, // 表头内容超出列宽度时进行换行 or 以...形式展现
|
||||||
|
showRowNum: _propTypes2['default'].object // 表格是否自动生成序号,格式为{base:number || 0,defaultKey:string || '_index',defaultName:string || '序号'}
|
||||||
};
|
};
|
||||||
|
|
||||||
var defaultProps = {
|
var defaultProps = {
|
||||||
|
@ -37640,7 +37643,10 @@
|
||||||
size: 'md',
|
size: 'md',
|
||||||
rowDraggAble: false,
|
rowDraggAble: false,
|
||||||
onDropRow: function onDropRow() {},
|
onDropRow: function onDropRow() {},
|
||||||
onDragRowStart: function onDragRowStart() {}
|
onDragRowStart: function onDragRowStart() {},
|
||||||
|
bodyDisplayInRow: true,
|
||||||
|
headerDisplayInRow: true,
|
||||||
|
showRowNum: false
|
||||||
};
|
};
|
||||||
|
|
||||||
var Table = function (_Component) {
|
var Table = function (_Component) {
|
||||||
|
@ -37771,7 +37777,7 @@
|
||||||
|
|
||||||
var expandedRowKeys = [];
|
var expandedRowKeys = [];
|
||||||
var rows = [].concat(_toConsumableArray(props.data));
|
var rows = [].concat(_toConsumableArray(props.data));
|
||||||
_this.columnManager = new _ColumnManager2['default'](props.columns, props.children, props.originWidth, props.rowDraggAble);
|
_this.columnManager = new _ColumnManager2['default'](props.columns, props.children, props.originWidth, props.rowDraggAble, props.showRowNum); // 加入props.showRowNum参数
|
||||||
_this.store = (0, _createStore2['default'])({ currentHoverKey: null });
|
_this.store = (0, _createStore2['default'])({ currentHoverKey: null });
|
||||||
_this.firstDid = true;
|
_this.firstDid = true;
|
||||||
if (props.defaultExpandAllRows) {
|
if (props.defaultExpandAllRows) {
|
||||||
|
@ -37855,12 +37861,12 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (nextProps.columns && nextProps.columns !== this.props.columns) {
|
if (nextProps.columns && nextProps.columns !== this.props.columns) {
|
||||||
this.columnManager.reset(nextProps.columns);
|
this.columnManager.reset(nextProps.columns, null, this.props.showRowNum); // 加入this.props.showRowNum参数
|
||||||
if (nextProps.columns.length !== this.props.columns.length && this.refs && this.bodyTable) {
|
if (nextProps.columns.length !== this.props.columns.length && this.refs && this.bodyTable) {
|
||||||
this.scrollTop = this.bodyTable.scrollTop;
|
this.scrollTop = this.bodyTable.scrollTop;
|
||||||
}
|
}
|
||||||
} else if (nextProps.children !== this.props.children) {
|
} else if (nextProps.children !== this.props.children) {
|
||||||
this.columnManager.reset(null, nextProps.children);
|
this.columnManager.reset(null, nextProps.children, this.porps.showRowNum); // 加入this.props.showRowNum参数
|
||||||
}
|
}
|
||||||
//适配lazyload
|
//适配lazyload
|
||||||
if (nextProps.scrollTop > -1) {
|
if (nextProps.scrollTop > -1) {
|
||||||
|
@ -37908,6 +37914,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
Table.prototype.componentWillUnmount = function componentWillUnmount() {
|
Table.prototype.componentWillUnmount = function componentWillUnmount() {
|
||||||
|
// 移除绑定事件,避免内存泄漏
|
||||||
this.contentTable = null;
|
this.contentTable = null;
|
||||||
_utils.EventUtil.removeHandler(this.contentTable, 'keydown', this.onKeyDown);
|
_utils.EventUtil.removeHandler(this.contentTable, 'keydown', this.onKeyDown);
|
||||||
_utils.EventUtil.removeHandler(this.contentTable, 'focus', this.onFocus);
|
_utils.EventUtil.removeHandler(this.contentTable, 'focus', this.onFocus);
|
||||||
|
@ -38309,6 +38316,9 @@
|
||||||
var lazyEndIndex = props.lazyLoad && props.lazyLoad.endIndex ? props.lazyLoad.endIndex : -1;
|
var lazyEndIndex = props.lazyLoad && props.lazyLoad.endIndex ? props.lazyLoad.endIndex : -1;
|
||||||
for (var i = 0; i < data.length; i++) {
|
for (var i = 0; i < data.length; i++) {
|
||||||
var isHiddenExpandIcon = void 0;
|
var isHiddenExpandIcon = void 0;
|
||||||
|
if (props.showRowNum) {
|
||||||
|
data[i][props.showRowNum.key || '_index'] = i + (props.showRowNum.base || 0);
|
||||||
|
}
|
||||||
var record = data[i];
|
var record = data[i];
|
||||||
var key = this.getRowKey(record, i);
|
var key = this.getRowKey(record, i);
|
||||||
var childrenColumn = record[childrenColumnName];
|
var childrenColumn = record[childrenColumnName];
|
||||||
|
@ -38520,7 +38530,7 @@
|
||||||
useFixedHeader = _props4.useFixedHeader,
|
useFixedHeader = _props4.useFixedHeader,
|
||||||
data = _props4.data;
|
data = _props4.data;
|
||||||
|
|
||||||
var bodyStyle = _extends({}, this.props.bodyStyle);
|
var bodyStyle = _extends({}, this.props.bodyStyle); // 这里为什么不写在上面?
|
||||||
var headStyle = {};
|
var headStyle = {};
|
||||||
var innerBodyStyle = {};
|
var innerBodyStyle = {};
|
||||||
var leftFixedWidth = this.columnManager.getLeftColumnsWidth(this.contentWidth);
|
var leftFixedWidth = this.columnManager.getLeftColumnsWidth(this.contentWidth);
|
||||||
|
@ -40505,6 +40515,55 @@
|
||||||
|
|
||||||
var _this = _possibleConstructorReturn(this, _Component.call(this, props));
|
var _this = _possibleConstructorReturn(this, _Component.call(this, props));
|
||||||
|
|
||||||
|
_this.renderLinkType = function (data, record) {
|
||||||
|
var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
||||||
|
var index = arguments[3];
|
||||||
|
var url = config.url,
|
||||||
|
urlIndex = config.urlIndex,
|
||||||
|
linkType = config.linkType,
|
||||||
|
className = config.className,
|
||||||
|
underline = config.underline,
|
||||||
|
descIndex = config.descIndex,
|
||||||
|
desc = config.desc,
|
||||||
|
linkColor = config.linkColor;
|
||||||
|
|
||||||
|
var linkUrl = '';
|
||||||
|
if (url) {
|
||||||
|
linkUrl = url(data, record, index);
|
||||||
|
} else if (urlIndex) {
|
||||||
|
linkUrl = record[urlIndex];
|
||||||
|
}
|
||||||
|
if (linkUrl) {
|
||||||
|
var link = function link() {
|
||||||
|
window.open(linkUrl, linkType || '_blank');
|
||||||
|
};
|
||||||
|
var cls = 'u-table-link ';
|
||||||
|
if (className) {
|
||||||
|
cls += className + ' ';
|
||||||
|
}
|
||||||
|
if (underline) {
|
||||||
|
cls += 'u-table-link-underline ';
|
||||||
|
}
|
||||||
|
var title = '';
|
||||||
|
|
||||||
|
if (desc === true) {
|
||||||
|
title = linkUrl;
|
||||||
|
} else if (typeof desc === 'string') {
|
||||||
|
title = desc;
|
||||||
|
} else if (typeof desc === 'function') {
|
||||||
|
title = desc(data, record, index);
|
||||||
|
} else if (descIndex) {
|
||||||
|
title = record[descIndex];
|
||||||
|
}
|
||||||
|
return _react2['default'].createElement(
|
||||||
|
'span',
|
||||||
|
{ onClick: link, className: cls, style: { color: linkColor || '' }, title: title },
|
||||||
|
data
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
};
|
||||||
|
|
||||||
_this.isInvalidRenderCellText = _this.isInvalidRenderCellText.bind(_this);
|
_this.isInvalidRenderCellText = _this.isInvalidRenderCellText.bind(_this);
|
||||||
_this.handleClick = _this.handleClick.bind(_this);
|
_this.handleClick = _this.handleClick.bind(_this);
|
||||||
return _this;
|
return _this;
|
||||||
|
@ -40524,6 +40583,9 @@
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 渲染链接类型
|
||||||
|
|
||||||
|
|
||||||
TableCell.prototype.render = function render() {
|
TableCell.prototype.render = function render() {
|
||||||
var _props2 = this.props,
|
var _props2 = this.props,
|
||||||
record = _props2.record,
|
record = _props2.record,
|
||||||
|
@ -40539,7 +40601,9 @@
|
||||||
lazyStartIndex = _props2.lazyStartIndex,
|
lazyStartIndex = _props2.lazyStartIndex,
|
||||||
lazyEndIndex = _props2.lazyEndIndex;
|
lazyEndIndex = _props2.lazyEndIndex;
|
||||||
var dataIndex = column.dataIndex,
|
var dataIndex = column.dataIndex,
|
||||||
render = column.render;
|
render = column.render,
|
||||||
|
fieldType = column.fieldType,
|
||||||
|
linkConfig = column.linkConfig;
|
||||||
var _column$className = column.className,
|
var _column$className = column.className,
|
||||||
className = _column$className === undefined ? '' : _column$className;
|
className = _column$className === undefined ? '' : _column$className;
|
||||||
|
|
||||||
|
@ -40560,6 +40624,21 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 根据 fieldType 来渲染数据
|
||||||
|
if (!render) {
|
||||||
|
switch (column.fieldType) {
|
||||||
|
case 'link':
|
||||||
|
{
|
||||||
|
text = this.renderLinkType(text, record, column.linkConfig, index);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (this.isInvalidRenderCellText(text)) {
|
if (this.isInvalidRenderCellText(text)) {
|
||||||
text = null;
|
text = null;
|
||||||
}
|
}
|
||||||
|
@ -85057,10 +85136,10 @@
|
||||||
|
|
||||||
//行控制管理
|
//行控制管理
|
||||||
var ColumnManager = function () {
|
var ColumnManager = function () {
|
||||||
function ColumnManager(columns, elements, originWidth, rowDraggAble) {
|
function ColumnManager(columns, elements, originWidth, rowDraggAble, showRowNum) {
|
||||||
_classCallCheck(this, ColumnManager);
|
_classCallCheck(this, ColumnManager);
|
||||||
|
|
||||||
this._cached = {};
|
_initialiseProps.call(this);
|
||||||
|
|
||||||
//判断是否使用行拖拽
|
//判断是否使用行拖拽
|
||||||
if (rowDraggAble) {
|
if (rowDraggAble) {
|
||||||
|
@ -85077,10 +85156,16 @@
|
||||||
}];
|
}];
|
||||||
columns = dragHandleColumn.concat(columns);
|
columns = dragHandleColumn.concat(columns);
|
||||||
}
|
}
|
||||||
|
columns = this.addOrderColumn(columns, showRowNum);
|
||||||
|
|
||||||
this.columns = columns || this.normalize(elements);
|
this.columns = columns || this.normalize(elements);
|
||||||
|
|
||||||
this.originWidth = originWidth;
|
this.originWidth = originWidth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 向数据列中添加一列:序号
|
||||||
|
|
||||||
|
|
||||||
ColumnManager.prototype.isAnyColumnsFixed = function isAnyColumnsFixed() {
|
ColumnManager.prototype.isAnyColumnsFixed = function isAnyColumnsFixed() {
|
||||||
var _this = this;
|
var _this = this;
|
||||||
|
|
||||||
|
@ -85253,7 +85338,8 @@
|
||||||
return element && (element.type === _Column2['default'] || element.type === _ColumnGroup2['default']);
|
return element && (element.type === _Column2['default'] || element.type === _ColumnGroup2['default']);
|
||||||
};
|
};
|
||||||
|
|
||||||
ColumnManager.prototype.reset = function reset(columns, elements) {
|
ColumnManager.prototype.reset = function reset(columns, elements, showRowNum) {
|
||||||
|
columns = this.addOrderColumn(columns, showRowNum);
|
||||||
this.columns = columns || this.normalize(elements);
|
this.columns = columns || this.normalize(elements);
|
||||||
this._cached = {};
|
this._cached = {};
|
||||||
};
|
};
|
||||||
|
@ -85354,6 +85440,30 @@
|
||||||
return ColumnManager;
|
return ColumnManager;
|
||||||
}();
|
}();
|
||||||
|
|
||||||
|
var _initialiseProps = function _initialiseProps() {
|
||||||
|
this._cached = {};
|
||||||
|
|
||||||
|
this.addOrderColumn = function (columns, showRowNum) {
|
||||||
|
if (!showRowNum) {
|
||||||
|
return columns;
|
||||||
|
}
|
||||||
|
var order = {
|
||||||
|
dataIndex: showRowNum.key || '_index',
|
||||||
|
key: '_index',
|
||||||
|
fixed: showRowNum.fixed || 'left',
|
||||||
|
width: showRowNum.width || 50,
|
||||||
|
title: showRowNum.name || '序号'
|
||||||
|
};
|
||||||
|
if (columns.length > 0 && columns[0].dataIndex !== 'checkbox' && columns[0].dataIndex !== 'radio') {
|
||||||
|
// 多选表格/单选表格时放在第二列,其他情况放到第一列
|
||||||
|
columns = [order].concat(columns);
|
||||||
|
} else {
|
||||||
|
columns.splice(1, 0, order); // splice方法改变原数组,返回切割出的数组,此处为[]
|
||||||
|
}
|
||||||
|
return columns;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
exports['default'] = ColumnManager;
|
exports['default'] = ColumnManager;
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
||||||
|
|
||||||
|
@ -85392,7 +85502,8 @@
|
||||||
fixed: _propTypes2['default'].oneOf([true, 'left', 'right']),
|
fixed: _propTypes2['default'].oneOf([true, 'left', 'right']),
|
||||||
render: _propTypes2['default'].func,
|
render: _propTypes2['default'].func,
|
||||||
onCellClick: _propTypes2['default'].func,
|
onCellClick: _propTypes2['default'].func,
|
||||||
ifshow: _propTypes2['default'].bool
|
ifshow: _propTypes2['default'].bool,
|
||||||
|
fieldType: _propTypes2['default'].string // 类型
|
||||||
};
|
};
|
||||||
|
|
||||||
var Column = function (_Component) {
|
var Column = function (_Component) {
|
||||||
|
@ -295324,11 +295435,14 @@
|
||||||
return Object.prototype.toString.call(o) == '[object Array]';
|
return Object.prototype.toString.call(o) == '[object Array]';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 实现行点击时触发多选框勾选的需求
|
||||||
|
|
||||||
|
|
||||||
MultiSelect.prototype.render = function render() {
|
MultiSelect.prototype.render = function render() {
|
||||||
var columns = this.props.columns;
|
var columns = this.props.columns;
|
||||||
var data = this.state.data;
|
var data = this.state.data;
|
||||||
|
|
||||||
return _react2["default"].createElement(Table, _extends({}, this.props, { columns: this.getDefaultColumns(columns), data: data }));
|
return _react2["default"].createElement(Table, _extends({}, this.props, { columns: this.getDefaultColumns(columns), data: data, onRowClick: this.onRowClick }));
|
||||||
};
|
};
|
||||||
|
|
||||||
return MultiSelect;
|
return MultiSelect;
|
||||||
|
@ -295443,6 +295557,13 @@
|
||||||
}];
|
}];
|
||||||
return _defaultColumns.concat(columns);
|
return _defaultColumns.concat(columns);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.onRowClick = function (record, index, event) {
|
||||||
|
_this2.onCheckboxChange('', record, index)();
|
||||||
|
if (_this2.props.onRowClick) {
|
||||||
|
_this2.props.onRowClick(record, index, event);
|
||||||
|
}
|
||||||
|
};
|
||||||
}, _temp;
|
}, _temp;
|
||||||
}
|
}
|
||||||
module.exports = exports["default"];
|
module.exports = exports["default"];
|
||||||
|
@ -295662,6 +295783,11 @@
|
||||||
//点击置为“”时,动态的设置相关column的orderNum值。并排序
|
//点击置为“”时,动态的设置相关column的orderNum值。并排序
|
||||||
|
|
||||||
|
|
||||||
|
// 默认的比较函数,即字符串比较函数
|
||||||
|
|
||||||
|
// 数值比较函数
|
||||||
|
|
||||||
|
|
||||||
SortTable.prototype._flatToColumn = function _flatToColumn(flatColumns) {
|
SortTable.prototype._flatToColumn = function _flatToColumn(flatColumns) {
|
||||||
var colLen = flatColumns.length;
|
var colLen = flatColumns.length;
|
||||||
var parentIndex = void 0,
|
var parentIndex = void 0,
|
||||||
|
@ -295872,8 +295998,13 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
var sortButton = void 0;
|
var sortButton = void 0;
|
||||||
if (column.sorter) {
|
|
||||||
|
// sorter和sortEnable均可触发排序,且sorter优先级更高
|
||||||
|
if (column.sorter || column.sortEnable) {
|
||||||
//大于0说明不是升序就是降序,判断orderNum有没有值,没有值赋值
|
//大于0说明不是升序就是降序,判断orderNum有没有值,没有值赋值
|
||||||
|
if (column.sortEnable && !column.sorter) {
|
||||||
|
column.sorter = column.fieldType === 'number' ? _this3.numberSortFn(column.dataIndex) : _this3.defaultSortFn(column.dataIndex);
|
||||||
|
}
|
||||||
if (iconTypeIndex > 0 && !column.orderNum && mode == "multiple") {
|
if (iconTypeIndex > 0 && !column.orderNum && mode == "multiple") {
|
||||||
column.orderNum = _this3.getOrderNum();
|
column.orderNum = _this3.getOrderNum();
|
||||||
}
|
}
|
||||||
|
@ -295906,6 +296037,20 @@
|
||||||
);
|
);
|
||||||
return column;
|
return column;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.defaultSortFn = function (key) {
|
||||||
|
return function (a, b) {
|
||||||
|
return a[key] > b[key] ? 1 : -1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
this.numberSortFn = function (key) {
|
||||||
|
return function (a, b) {
|
||||||
|
var numberA = parseFloat(a[key]);
|
||||||
|
var numberB = parseFloat(b[key]);
|
||||||
|
return numberA > numberB ? 1 : -1;
|
||||||
|
};
|
||||||
|
};
|
||||||
}, _temp;
|
}, _temp;
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
||||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue