Commit 0be0f71b authored by Ilya Kirillov's avatar Ilya Kirillov

Fix bug #32477 Исправлен баг с селектом внутри таблиц, разбитых на несколько страниц.

parent afa5f819
This diff is collapsed.
...@@ -7411,8 +7411,9 @@ CDocumentContent.prototype.Selection_SetStart = function(X, Y, CurPage, MouseEve ...@@ -7411,8 +7411,9 @@ CDocumentContent.prototype.Selection_SetStart = function(X, Y, CurPage, MouseEve
} }
else else
{ {
Item.Selection_SetStart(X, Y, this.CurPage, MouseEvent); var ElementPageIndex = this.private_GetElementPageIndexByXY(ContentPos, X, Y, this.CurPage);
Item.Selection_SetEnd(X, Y, this.CurPage, {Type : AscCommon.g_mouse_event_type_move, ClickCount : 1}); Item.Selection_SetStart(X, Y, ElementPageIndex, MouseEvent);
Item.Selection_SetEnd(X, Y, ElementPageIndex, {Type : AscCommon.g_mouse_event_type_move, ClickCount : 1});
if (!(type_Table == Item.GetType() && true == bTableBorder)) if (!(type_Table == Item.GetType() && true == bTableBorder))
{ {
...@@ -7480,7 +7481,8 @@ CDocumentContent.prototype.Selection_SetEnd = function(X, Y, CurPage, M ...@@ -7480,7 +7481,8 @@ CDocumentContent.prototype.Selection_SetEnd = function(X, Y, CurPage, M
if (null != this.Selection.Data && true === this.Selection.Data.TableBorder && type_Table == this.Content[this.Selection.Data.Pos].GetType()) if (null != this.Selection.Data && true === this.Selection.Data.TableBorder && type_Table == this.Content[this.Selection.Data.Pos].GetType())
{ {
var Item = this.Content[this.Selection.Data.Pos]; var Item = this.Content[this.Selection.Data.Pos];
Item.Selection_SetEnd(X, Y, this.CurPage, MouseEvent); var ElementPageIndex = this.private_GetElementPageIndexByXY(this.Selection.Data.Pos, X, Y, this.CurPage);
Item.Selection_SetEnd(X, Y, ElementPageIndex, MouseEvent);
if (AscCommon.g_mouse_event_type_up == MouseEvent.Type) if (AscCommon.g_mouse_event_type_up == MouseEvent.Type)
{ {
...@@ -7553,8 +7555,8 @@ CDocumentContent.prototype.Selection_SetEnd = function(X, Y, CurPage, M ...@@ -7553,8 +7555,8 @@ CDocumentContent.prototype.Selection_SetEnd = function(X, Y, CurPage, M
if (0 == Direction) if (0 == Direction)
{ {
var Item = this.Content[this.Selection.StartPos]; var Item = this.Content[this.Selection.StartPos];
var ItemType = Item.GetType(); var ElementPageIndex = this.private_GetElementPageIndexByXY(this.Selection.StartPos, X, Y, this.CurPage);
Item.Selection_SetEnd(X, Y, this.CurPage, MouseEvent); Item.Selection_SetEnd(X, Y, ElementPageIndex, MouseEvent);
if (false === Item.Selection.Use) if (false === Item.Selection.Use)
{ {
...@@ -7605,7 +7607,8 @@ CDocumentContent.prototype.Selection_SetEnd = function(X, Y, CurPage, M ...@@ -7605,7 +7607,8 @@ CDocumentContent.prototype.Selection_SetEnd = function(X, Y, CurPage, M
this.Content[Start].Selection.EndPos = this.Content[Start].Content.length - 1; this.Content[Start].Selection.EndPos = this.Content[Start].Content.length - 1;
} }
this.Content[ContentPos].Selection_SetEnd(X, Y, this.CurPage, MouseEvent); var ElementPageIndex = this.private_GetElementPageIndexByXY(ContentPos, X, Y, this.CurPage);
this.Content[ContentPos].Selection_SetEnd(X, Y, ElementPageIndex, MouseEvent);
for (var Index = Start; Index <= End; Index++) for (var Index = Start; Index <= End; Index++)
{ {
......
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