Commit 62e9f30f authored by Alexander.Trofimov's avatar Alexander.Trofimov Committed by Alexander.Trofimov

Поправил открытие редактора ячеки для закрепленных областей + когда области...

Поправил открытие редактора ячеки для закрепленных областей + когда области закреплены, расширение окна ввода ограничивается закрепленной областью.

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@54516 954022d7-b5bf-4e40-9824-e11837661b57
parent ac933a6d
......@@ -9779,19 +9779,19 @@
return true;
};
WorksheetView.prototype.openCellEditor = function (editor, x, y, isCoord, fragments, cursorPos, isFocus, isClearCell,
isHideCursor, activeRange) {
var t = this, vr = t.visibleRange, tc = t.cols, tr = t.rows, col, row, c, fl, mc, bg;
var offsetFrozen = t.getFrozenPaneOffset();
WorksheetView.prototype.openCellEditor = function (editor, x, y, isCoord, fragments, cursorPos,
isFocus, isClearCell, isHideCursor, activeRange) {
var t = this, vr = t.visibleRange.clone(), tc = t.cols, tr = t.rows, col, row, c, fl, mc, bg;
var offsetX = 0, offsetY = 0;
var ar = t.activeRange;
if (activeRange)
t.activeRange = activeRange.clone();
if ( t.objectRender.checkCursorDrawingObject(x, y) )
if (t.objectRender.checkCursorDrawingObject(x, y))
return false;
function getLeftSide(col) {
var i, res = [], offs = t.cols[vr.c1].left - t.cols[0].left - offsetFrozen.offsetX;
var i, res = [], offs = t.cols[vr.c1].left - t.cols[0].left - offsetX;
for (i = col; i >= vr.c1; --i) {
if (t.width_1px < t.cols[i].width)
res.push(t.cols[i].left - offs);
......@@ -9800,7 +9800,7 @@
}
function getRightSide(col) {
var i, w, res = [], offs = t.cols[vr.c1].left - t.cols[0].left - offsetFrozen.offsetX;
var i, w, res = [], offs = t.cols[vr.c1].left - t.cols[0].left - offsetX;
// Для замерженных ячеек, можем уйти за границу
if (fl.isMerged && col > vr.c2)
......@@ -9819,7 +9819,7 @@
}
function getBottomSide(row) {
var i, h, res = [], offs = t.rows[vr.r1].top - t.rows[0].top - offsetFrozen.offsetY;
var i, h, res = [], offs = t.rows[vr.r1].top - t.rows[0].top - offsetY;
// Для замерженных ячеек, можем уйти за границу
if (fl.isMerged && row > vr.r2)
......@@ -9865,22 +9865,20 @@
var bIsUpdateX = false;
var bIsUpdateY = false;
if (mc.c1 < vr.c1) {
vr.c1 = mc.c1;
t.visibleRange.c1 = vr.c1 = mc.c1;
bIsUpdateX = true;
t._calcVisibleColumns();
}
if (mc.r1 < vr.r1) {
vr.r1 = mc.r1;
t.visibleRange.r1 = vr.r1 = mc.r1;
bIsUpdateY = true;
t._calcVisibleRows();
}
if (bIsUpdateX && bIsUpdateY) {
this.handlers.trigger("reinitializeScroll");
}
else if (bIsUpdateX) {
} else if (bIsUpdateX) {
this.handlers.trigger("reinitializeScrollX");
}
else if (bIsUpdateY) {
} else if (bIsUpdateY) {
this.handlers.trigger("reinitializeScrollY");
}
......@@ -9889,6 +9887,27 @@
}
}
if (this.topLeftFrozenCell) {
var cFrozen = this.topLeftFrozenCell.getCol0();
var rFrozen = this.topLeftFrozenCell.getRow0();
if (0 < cFrozen) {
if (col > cFrozen)
offsetX = tc[cFrozen].left - tc[0].left;
else {
vr.c1 = 0;
vr.c2 = cFrozen - 1;
}
}
if (0 < rFrozen) {
if (row > rFrozen)
offsetY = tr[rFrozen].top - tr[0].top;
else {
vr.r1 = 0;
vr.r2 = rFrozen - 1;
}
}
}
bg = c.getFill();
t.isFormulaEditMode = false;
// Очищаем массив ячеек для текущей формулы
......@@ -9906,8 +9925,8 @@
}
editor.open({
cellX: t.cellsLeft + tc[!fl.isMerged ? col : mc.c1].left - tc[vr.c1].left + offsetFrozen.offsetX,
cellY: t.cellsTop + tr[!fl.isMerged ? row : mc.r1].top - tr[vr.r1].top + offsetFrozen.offsetY,
cellX: t.cellsLeft + tc[!fl.isMerged ? col : mc.c1].left - tc[vr.c1].left + offsetX,
cellY: t.cellsTop + tr[!fl.isMerged ? row : mc.r1].top - tr[vr.r1].top + offsetY,
leftSide: getLeftSide(!fl.isMerged ? col : mc.c1),
rightSide: getRightSide(!fl.isMerged ? col : mc.c2),
bottomSide: getBottomSide(!fl.isMerged ? row : mc.r2),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment