Commit 372d188e authored by Ilya Kirillov's avatar Ilya Kirillov

Fixed bug #32996 Fixed an issue with adding a hyperlink inside a field.

parent a758ba09
......@@ -1471,6 +1471,10 @@ ParaComment.prototype.Get_TextPr = function(ContentPos, Depth)
{
return new CTextPr();
};
ParaComment.prototype.CanSplit = function()
{
return false;
};
//----------------------------------------------------------------------------------------------------------------------
// Разное
//----------------------------------------------------------------------------------------------------------------------
......
......@@ -209,6 +209,10 @@ ParaField.prototype.Split = function (ContentPos, Depth)
// Не даем разделять поле
return null;
};
ParaField.prototype.CanSplit = function()
{
return false;
};
ParaField.prototype.Recalculate_Range_Spaces = function(PRSA, _CurLine, _CurRange, _CurPage)
{
var CurLine = _CurLine - this.StartLine;
......
......@@ -6002,6 +6002,8 @@ Paragraph.prototype =
// Если у нас в выделение попадает начало или конец гиперссылки, или конец параграфа, или
// у нас все выделение находится внутри гиперссылки, тогда мы не можем добавить новую. Во
// всех остальных случаях разрешаем добавить.
// Также, если начало или конец выделения попадает в элемент, который нельзя разделить, тогда мы тоже
// запрещаем добавление гиперссылки.
var StartPos = this.Selection.StartPos;
var EndPos = this.Selection.EndPos;
......@@ -6011,8 +6013,10 @@ Paragraph.prototype =
EndPos = this.Selection.StartPos;
}
// Проверяем не находимся ли мы внутри гиперссылки
if (false === this.Content[StartPos].CanSplit() || false === this.Content[EndPos].CanSplit())
return false;
// Проверяем не находимся ли мы внутри гиперссылки
for ( var CurPos = StartPos; CurPos <= EndPos; CurPos++ )
{
var Element = this.Content[CurPos];
......@@ -6038,6 +6042,8 @@ Paragraph.prototype =
{
// Если у нас в выделение попадает несколько гиперссылок или конец параграфа, тогда
// возвращаем false, во всех остальных случаях true
// Также, если начало или конец выделения попадает в элемент, который нельзя разделить, тогда мы тоже
// запрещаем добавление гиперссылки.
var StartPos = this.Selection.StartPos;
var EndPos = this.Selection.EndPos;
......@@ -6047,6 +6053,9 @@ Paragraph.prototype =
EndPos = this.Selection.StartPos;
}
if (false === this.Content[StartPos].CanSplit() || false === this.Content[EndPos].CanSplit())
return false;
var bHyper = false;
for ( var CurPos = StartPos; CurPos <= EndPos; CurPos++ )
......
......@@ -34,6 +34,10 @@
function CParagraphContentBase()
{
}
CParagraphContentBase.prototype.CanSplit = function()
{
return false;
};
/**
* Это базовый класс для элементов содержимого(контент) параграфа, у которых есть свое содержимое.
......@@ -195,6 +199,10 @@ CParagraphContentWithContentBase.prototype.private_UpdateTrackRevisions = functi
RevisionsManager.Check_Paragraph(this.Paragraph);
}
};
CParagraphContentWithContentBase.prototype.CanSplit = function()
{
return true;
};
/**
* Это базовый класс для элементов параграфа, которые сами по себе могут содержать элементы параграфа.
* @constructor
......@@ -1092,7 +1100,7 @@ CParagraphContentWithParagraphLikeContent.prototype.Document_UpdateInterfaceStat
Element.Document_UpdateInterfaceState();
}
};
CParagraphContentWithParagraphLikeContent.prototype.Split = function (ContentPos, Depth)
CParagraphContentWithParagraphLikeContent.prototype.Split = function(ContentPos, Depth)
{
var Element = new this.constructor();
......
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