只读模式
group, 分享
评论更多问题
博客标签总是存在一个
This commit is contained in:
lealife
2015-06-15 18:01:48 +08:00
parent 7e458bb433
commit 6987a38820
1453 changed files with 114561 additions and 91536 deletions

27
public/tinymce/plugins/table/classes/CellSelection.js Normal file → Executable file
View File

@ -21,13 +21,13 @@ define("tinymce/tableplugin/CellSelection", [
"tinymce/util/Tools"
], function(TableGrid, TreeWalker, Tools) {
return function(editor) {
var dom = editor.dom, tableGrid, startCell, startTable, hasCellSelection = true;
var dom = editor.dom, tableGrid, startCell, startTable, hasCellSelection = true, resizing;
function clear() {
function clear(force) {
// Restore selection possibilities
editor.getBody().style.webkitUserSelect = '';
if (hasCellSelection) {
if (force || hasCellSelection) {
editor.dom.removeClass(
editor.dom.select('td.mce-item-selected,th.mce-item-selected'),
'mce-item-selected'
@ -40,6 +40,10 @@ define("tinymce/tableplugin/CellSelection", [
function cellSelectionHandler(e) {
var sel, table, target = e.target;
if (resizing) {
return;
}
if (startCell && (tableGrid || target != startCell) && (target.nodeName == 'TD' || target.nodeName == 'TH')) {
table = dom.getParent(target, 'table');
if (table == startTable) {
@ -73,7 +77,7 @@ define("tinymce/tableplugin/CellSelection", [
// Add cell selection logic
editor.on('MouseDown', function(e) {
if (e.button != 2) {
if (e.button != 2 && !resizing) {
clear();
startCell = dom.getParent(e.target, 'td,th');
@ -81,14 +85,14 @@ define("tinymce/tableplugin/CellSelection", [
}
});
dom.bind(editor.getDoc(), 'mouseover', cellSelectionHandler);
editor.on('mouseover', cellSelectionHandler);
editor.on('remove', function() {
dom.unbind(editor.getDoc(), 'mouseover', cellSelectionHandler);
});
editor.on('MouseUp', function() {
var rng, sel = editor.selection, selectedCells, walker, node, lastNode, endNode;
var rng, sel = editor.selection, selectedCells, walker, node, lastNode;
function setPoint(node, start) {
var walker = new TreeWalker(node, node);
@ -129,7 +133,6 @@ define("tinymce/tableplugin/CellSelection", [
if (selectedCells.length > 0) {
rng = dom.createRng();
node = selectedCells[0];
endNode = selectedCells[selectedCells.length - 1];
rng.setStartBefore(node);
rng.setEndAfter(node);
@ -156,8 +159,14 @@ define("tinymce/tableplugin/CellSelection", [
}
});
editor.on('KeyUp', function() {
clear();
editor.on('KeyUp Drop SetContent', function(e) {
clear(e.type == 'setcontent');
startCell = tableGrid = startTable = null;
resizing = false;
});
editor.on('ObjectResizeStart ObjectResized', function(e) {
resizing = e.type != 'objectresized';
});
return {