Merge pull request 'fix/bug-79647' (#967) from fix/bug-79647 into release/v9.3.0

This commit is contained in:
Maxim Kadushkin
2026-02-09 14:57:22 +00:00
6 changed files with 150 additions and 2 deletions

View File

@ -245,10 +245,13 @@ define([], function () {
view.menuStyleSaveInTable.on('click', _.bind(me.onMenuSaveStyle, me));
view.menuStyleUpdateInTable.on('click', _.bind(me.onMenuUpdateStyle, me));
view.menuParagraphAdvanced.on('click', _.bind(me.advancedParagraphClick, me));
view.menuEditHyperlinkPic.on('click', _.bind(me.editHyperlink, me));
view.menuEditHyperlinkTable.on('click', _.bind(me.editHyperlink, me));
view.menuEditHyperlinkPara.on('click', _.bind(me.editHyperlink, me));
view.menuRemoveHyperlinkPic.on('click', _.bind(me.onRemoveHyperlink, me));
view.menuRemoveHyperlinkTable.on('click', _.bind(me.onRemoveHyperlink, me));
view.menuRemoveHyperlinkPara.on('click', _.bind(me.onRemoveHyperlink, me));
view.menuAddHyperlinkPic.on('click', _.bind(me.addHyperlink, me));
view.menuAddHyperlinkTable.on('click', _.bind(me.addHyperlink, me));
view.menuAddHyperlinkPara.on('click', _.bind(me.addHyperlink, me));
view.menuAddCommentTable.on('click', _.bind(me.addComment, me));
@ -361,8 +364,7 @@ define([], function () {
menu_props.imgProps.locked = (elValue) ? elValue.get_Locked() : false;
noobject = false;
if ( (shapeprops===undefined || shapeprops===null) && (chartprops===undefined || chartprops===null) ) // not shape and chart
break;
} else if (Asc.c_oAscTypeSelectElement.Table == elType)
{
menu_to_show = documentHolder.tableMenu;

View File

@ -831,6 +831,36 @@ define([], function () {
caption: me.textEditObject
});
var menuHyperlinkPicSeparator = new Common.UI.MenuItem({
caption : '--'
});
me.menuAddHyperlinkPic = new Common.UI.MenuItem({
iconCls: 'menu__icon btn-inserthyperlink',
caption : me.hyperlinkText
});
me.menuEditHyperlinkPic = new Common.UI.MenuItem({
caption : me.editHyperlinkText
});
me.menuRemoveHyperlinkPic = new Common.UI.MenuItem({
caption : me.removeHyperlinkText
});
var menuHyperlinkPic = new Common.UI.MenuItem({
iconCls: 'menu__icon btn-inserthyperlink',
caption : me.hyperlinkText,
menu : new Common.UI.Menu({
cls: 'shifted-right',
menuAlign: 'tl-tr',
items : [
me.menuEditHyperlinkPic,
me.menuRemoveHyperlinkPic
]
})
});
this.pictureMenu = new Common.UI.Menu({
cls: 'shifted-right',
restoreHeightAndTop: true,
@ -1011,6 +1041,23 @@ define([], function () {
var canEditPoints = me.api && me.api.asc_canEditGeometry();
me.menuImgEditPoints.setVisible(canEditPoints);
canEditPoints && me.menuImgEditPoints.setDisabled(islocked);
var text = null;
if (me.api) {
text = me.api.can_AddHyperlink();
}
me.menuAddHyperlinkPic.setVisible(value.hyperProps===undefined && text!==false);
menuHyperlinkPic.setVisible(value.hyperProps!==undefined);
menuHyperlinkPicSeparator.setVisible(me.menuAddHyperlinkPic.isVisible() || menuHyperlinkPic.isVisible());
me.menuEditHyperlinkPic.hyperProps = value.hyperProps;
me.menuRemoveHyperlinkPic.hyperProps = value.hyperProps;
if (text !== false) {
me.menuAddHyperlinkPic.hyperProps = {};
me.menuAddHyperlinkPic.hyperProps.value = new Asc.CHyperlinkProperty();
me.menuAddHyperlinkPic.hyperProps.value.put_Text(text);
}
me.menuAddHyperlinkPic.setDisabled(islocked);
menuHyperlinkPic.setDisabled(islocked || (value.hyperProps!==undefined && value.hyperProps.isSeveralLinks===true));
},
items: [
me.menuImgCut,
@ -1039,6 +1086,9 @@ define([], function () {
menuInsertCaptionSeparator,
me.menuSaveAsPicture,
menuSaveAsPictureSeparator,
me.menuAddHyperlinkPic,
menuHyperlinkPic,
menuHyperlinkPicSeparator,
me.menuImgCrop,
me.menuImgResetCrop,
me.menuOriginalSize,

View File

@ -187,10 +187,13 @@ define([], function () {
view.menuTableCut.on('click', _.bind(me.onCutCopyPaste, me));
view.menuAddHyperlinkPara.on('click', _.bind(me.addHyperlink, me));
view.menuAddHyperlinkTable.on('click', _.bind(me.addHyperlink, me));
view.menuAddHyperlinkPic.on('click', _.bind(me.addHyperlink, me));
view.menuEditHyperlinkPara.on('click', _.bind(me.editHyperlink, me));
view.menuEditHyperlinkTable.on('click', _.bind(me.editHyperlink, me));
view.menuEditHyperlinkPic.on('click', _.bind(me.editHyperlink, me));
view.menuRemoveHyperlinkPara.on('click', _.bind(me.removeHyperlink, me));
view.menuRemoveHyperlinkTable.on('click', _.bind(me.removeHyperlink, me));
view.menuRemoveHyperlinkPic.on('click', _.bind(me.removeHyperlink, me));
view.menuChartEdit.on('click', _.bind(me.editChartClick, me, undefined));
view.menuImgSaveAsPicture.on('click', _.bind(me.saveAsPicture, me));
view.menuTableSaveAsPicture.on('click', _.bind(me.saveAsPicture, me));

View File

@ -2194,6 +2194,36 @@ define([], function () {
caption: me.textEditObject
});
var menuHyperlinkPicSeparator = new Common.UI.MenuItem({
caption : '--'
});
me.menuAddHyperlinkPic = new Common.UI.MenuItem({
iconCls: 'menu__icon btn-inserthyperlink',
caption : me.hyperlinkText
});
me.menuEditHyperlinkPic = new Common.UI.MenuItem({
caption : me.editHyperlinkText
});
me.menuRemoveHyperlinkPic = new Common.UI.MenuItem({
caption : me.removeHyperlinkText
});
var menuHyperlinkPic = new Common.UI.MenuItem({
iconCls: 'menu__icon btn-inserthyperlink',
caption : me.hyperlinkText,
menu : new Common.UI.Menu({
cls: 'shifted-right',
menuAlign: 'tl-tr',
items : [
me.menuEditHyperlinkPic,
me.menuRemoveHyperlinkPic
]
})
});
me.pictureMenu = new Common.UI.Menu({
cls: 'shifted-right',
restoreHeightAndTop: true,
@ -2296,6 +2326,23 @@ define([], function () {
me.menuImgCut.setDisabled(disabled || !cancopy);
me.menuImgPaste.setDisabled(disabled);
menuImgShapeArrange.setDisabled(disabled);
var text = null;
if (me.api) {
text = me.api.can_AddHyperlink();
}
me.menuAddHyperlinkPic.setVisible(value.hyperProps===undefined && text!==false);
menuHyperlinkPic.setVisible(value.hyperProps!==undefined);
menuHyperlinkPicSeparator.setVisible(me.menuAddHyperlinkPic.isVisible() || menuHyperlinkPic.isVisible());
me.menuEditHyperlinkPic.hyperProps = value.hyperProps;
me.menuRemoveHyperlinkPic.hyperProps = value.hyperProps;
if (text !== false) {
me.menuAddHyperlinkPic.hyperProps = {};
me.menuAddHyperlinkPic.hyperProps.value = new Asc.CHyperlinkProperty();
me.menuAddHyperlinkPic.hyperProps.value.put_Text(text);
}
me.menuAddHyperlinkPic.setDisabled(disabled);
menuHyperlinkPic.setDisabled(disabled || (value.hyperProps!==undefined && value.hyperProps.isSeveralLinks===true));
},
items: [
me.menuImgCut,
@ -2311,6 +2358,9 @@ define([], function () {
menuImgShapeSeparator, //Separator
me.menuImgSaveAsPicture,
menuImgSaveAsPictureSeparator, //Separator
me.menuAddHyperlinkPic,
menuHyperlinkPic,
menuHyperlinkPicSeparator,
me.menuImgCrop,
me.menuImgResetCrop,
me.menuImgOriginalSize,

View File

@ -185,6 +185,9 @@ define([], function () {
view.menuParagraphBullets.menu.on('show:after', _.bind(me.onBulletMenuShowAfter, me));
view.menuAddHyperlinkShape.on('click', _.bind(me.onInsHyperlink, me));
view.menuEditHyperlinkShape.on('click', _.bind(me.onInsHyperlink, me));
view.menuAddHyperlinkPic.on('click', _.bind(me.onInsHyperlink, me));
view.menuEditHyperlinkPic.on('click', _.bind(me.onInsHyperlink, me));
view.menuRemoveHyperlinkPic.on('click', _.bind(me.onDelHyperlink, me))
view.menuRemoveHyperlinkShape.on('click', _.bind(me.onDelHyperlink, me));
view.pmiTextAdvanced.on('click', _.bind(me.onTextAdvanced, me));
view.mnuShapeAdvanced.on('click', _.bind(me.onShapeAdvanced, me));
@ -2314,6 +2317,14 @@ define([], function () {
});
}
var hyperinfo = cellinfo.asc_getHyperlink(),
can_add_hyperlink = this.api.asc_canAddShapeHyperlink();
documentHolder.menuHyperlinkPic.setVisible((isimagemenu || isshapemenu) && can_add_hyperlink!==false && hyperinfo);
documentHolder.menuAddHyperlinkPic.setVisible((isimagemenu || isshapemenu) && can_add_hyperlink!==false && !hyperinfo);
documentHolder.menuHyperlinkPicSeparator.setVisible((isimagemenu || isshapemenu) && can_add_hyperlink!==false);
documentHolder.menuHyperlinkPic.setDisabled(isObjLocked || this._state.wsProps['InsertHyperlinks']);
documentHolder.menuAddHyperlinkPic.setDisabled(isObjLocked || this._state.wsProps['InsertHyperlinks']);
var objcount = this.api.asc_getSelectedDrawingObjectsCount();
documentHolder.menuImageAlign.menu.items[7].setDisabled(objcount<3);
documentHolder.menuImageAlign.menu.items[8].setDisabled(objcount<3);

View File

@ -1572,6 +1572,35 @@ define([], function () {
caption: '--'
});
me.menuHyperlinkPicSeparator = new Common.UI.MenuItem({
caption: '--'
});
me.menuAddHyperlinkPic = new Common.UI.MenuItem({
caption: me.txtInsHyperlink
});
me.menuEditHyperlinkPic = new Common.UI.MenuItem({
caption: me.editHyperlinkText
});
me.menuRemoveHyperlinkPic = new Common.UI.MenuItem({
caption: me.removeHyperlinkText
});
me.menuHyperlinkPic = new Common.UI.MenuItem({
iconCls: 'menu__icon btn-inserthyperlink',
caption: me.txtInsHyperlink,
menu: new Common.UI.Menu({
cls: 'shifted-right',
menuAlign: 'tl-tr',
items: [
me.menuEditHyperlinkPic,
me.menuRemoveHyperlinkPic
]
})
});
this.imgMenu = new Common.UI.Menu({
cls: 'shifted-right',
restoreHeightAndTop: true,
@ -1594,6 +1623,9 @@ define([], function () {
menuSaveAsPictureSeparator,
me.menuSaveAsPicture,
me.mnuShapeSeparator,
me.menuAddHyperlinkPic,
me.menuHyperlinkPic,
me.menuHyperlinkPicSeparator,
me.menuImgCrop,
me.menuImgResetCrop,
me.mnuChartData,