提交 4ca57779 编写于 作者: T taoqili

table.core

上级 be08d070
......@@ -697,7 +697,6 @@
if (table) {
var obj = {};
obj[data[0]] = data[1];
table.style[utils.cssStyleToDomStyle("float")] = "";
table.style.margin = "";
domUtils.setStyles(table, obj);
......@@ -751,10 +750,18 @@
var me = this,
tableItems = getTableItemsByRange(me);
if(!tableItems.cell) return -1;
var table = tableItems.table,
cells = table.getElementsByTagName("td");
for(var i = 0,cell;cell = cells[i++];){
if(cell.rowSpan!=1 || cell.colSpan!=1) return -1;
}
return 0;
},
execCommand:function (cmd, fn) {
var tableItems = getTableItemsByRange(this),
var me = this,
range = me.selection.getRange(),
bk = range.createBookmark(true),
tableItems = getTableItemsByRange(me),
cell = tableItems.cell,
ut = getUETable(tableItems.table),
cellIndex = ut.getCellInfo(cell).cellIndex,
......@@ -764,6 +771,17 @@
return;
}
ut.sortTable(cellIndex,fn);
range.moveToBookmark(bk).select();
}
};
UE.commands["enablesort"] = UE.commands["disablesort"] = {
queryCommandState:function(){
return 0;
},
execCommand:function(cmd){
var table = getTableItemsByRange(this).table;
table.setAttribute("data-sort",cmd == "enablesort" ? "sortEnabled":"sortDisabled");
}
};
......
......@@ -1012,17 +1012,20 @@
range = this.getCellsRange(tds[0], tds[tds.length - 1]);
this.setSelected(range);
},
sortTable:function(cellIndex,fn){
sortTable:function(sortByCellIndex,compareFn){
var table = this.table,
rows = table.rows,
trArray = [];
trArray = [],
flag = rows[0].cells[0].tagName === "TH";
for (var i = 0, len = rows.length; i < len; i++) {
trArray[i] = rows[i];
}
//th不参与排序
flag && trArray.splice(0,1);
trArray.sort(function (tr1, tr2) {
return fn ? (typeof fn === "number" ? fn : fn.call(this,tr1.cells[cellIndex], tr2.cells[cellIndex])) : function () {
var value1 = tr1.cells[cellIndex].innerHTML,
value2 = tr2.cells[cellIndex].innerHTML;
return compareFn ? (typeof compareFn === "number" ? compareFn : compareFn.call(this,tr1.cells[sortByCellIndex], tr2.cells[sortByCellIndex])) : function () {
var value1 = tr1.cells[sortByCellIndex].innerHTML,
value2 = tr2.cells[sortByCellIndex].innerHTML;
return value1.localeCompare(value2);
}();
});
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册