Fix Bug 11493

This commit is contained in:
Julia Radzhabova 2018-04-11 16:46:44 +03:00
parent 09606f77bb
commit b1a1127145
8 changed files with 190 additions and 11 deletions

View file

@ -2264,6 +2264,43 @@ define([
} }
}); });
var menuImgReplace = new Common.UI.MenuItem({
caption : me.textReplace,
menu : new Common.UI.Menu({
menuAlign: 'tl-tr',
items: [
new Common.UI.MenuItem({
caption : this.textFromFile
}).on('click', function(item) {
setTimeout(function(){
if (me.api) me.api.ChangeImageFromFile();
me.fireEvent('editcomplete', me);
}, 10);
}),
new Common.UI.MenuItem({
caption : this.textFromUrl
}).on('click', function(item) {
var me = this;
(new Common.Views.ImageFromUrlDialog({
handler: function(result, value) {
if (result == 'ok') {
if (me.api) {
var checkUrl = value.replace(/ /g, '');
if (!_.isEmpty(checkUrl)) {
var props = new Asc.asc_CImgProperty();
props.put_ImageUrl(checkUrl);
me.api.ImgApply(props);
}
}
}
me.fireEvent('editcomplete', me);
}
})).show();
})
]
})
});
var menuImgCopy = new Common.UI.MenuItem({ var menuImgCopy = new Common.UI.MenuItem({
caption : me.textCopy, caption : me.textCopy,
value : 'copy' value : 'copy'
@ -2341,13 +2378,19 @@ define([
menuChartEdit.setVisible(!_.isNull(value.imgProps.value.get_ChartProperties()) && !onlyCommonProps); menuChartEdit.setVisible(!_.isNull(value.imgProps.value.get_ChartProperties()) && !onlyCommonProps);
me.menuOriginalSize.setVisible(value.imgProps.isOnlyImg); me.menuOriginalSize.setVisible(value.imgProps.isOnlyImg || !value.imgProps.isChart && !value.imgProps.isShape);
me.pictureMenu.items[10].setVisible(menuChartEdit.isVisible() || me.menuOriginalSize.isVisible());
var pluginGuid = value.imgProps.value.asc_getPluginGuid();
menuImgReplace.setVisible(value.imgProps.isOnlyImg && (pluginGuid===null || pluginGuid===undefined));
if (menuImgReplace.isVisible())
menuImgReplace.setDisabled(islocked || pluginGuid===null);
var islocked = value.imgProps.locked || (value.headerProps!==undefined && value.headerProps.locked); var islocked = value.imgProps.locked || (value.headerProps!==undefined && value.headerProps.locked);
if (menuChartEdit.isVisible()) if (menuChartEdit.isVisible())
menuChartEdit.setDisabled(islocked || value.imgProps.value.get_SeveralCharts()); menuChartEdit.setDisabled(islocked || value.imgProps.value.get_SeveralCharts());
me.pictureMenu.items[14].setVisible(menuChartEdit.isVisible());
me.menuOriginalSize.setDisabled(islocked || value.imgProps.value.get_ImageUrl()===null || value.imgProps.value.get_ImageUrl()===undefined); me.menuOriginalSize.setDisabled(islocked || value.imgProps.value.get_ImageUrl()===null || value.imgProps.value.get_ImageUrl()===undefined);
menuImageAdvanced.setDisabled(islocked); menuImageAdvanced.setDisabled(islocked);
menuImageAlign.setDisabled( islocked || (wrapping == Asc.c_oAscWrapStyle2.Inline) ); menuImageAlign.setDisabled( islocked || (wrapping == Asc.c_oAscWrapStyle2.Inline) );
@ -2390,6 +2433,7 @@ define([
me.menuImageWrap, me.menuImageWrap,
{ caption: '--' }, { caption: '--' },
me.menuOriginalSize, me.menuOriginalSize,
menuImgReplace,
menuChartEdit, menuChartEdit,
{ caption: '--' }, { caption: '--' },
menuImageAdvanced menuImageAdvanced
@ -3729,7 +3773,10 @@ define([
textTOCSettings: 'Table of contents settings', textTOCSettings: 'Table of contents settings',
textTOC: 'Table of contents', textTOC: 'Table of contents',
textRefreshField: 'Refresh field', textRefreshField: 'Refresh field',
txtPasteSourceFormat: 'Keep source formatting' txtPasteSourceFormat: 'Keep source formatting',
textReplace: 'Replace image',
textFromUrl: 'From URL',
textFromFile: 'From File'
}, DE.Views.DocumentHolder || {})); }, DE.Views.DocumentHolder || {}));
}); });

View file

@ -1023,6 +1023,9 @@
"DE.Views.DocumentHolder.txtUngroup": "Ungroup", "DE.Views.DocumentHolder.txtUngroup": "Ungroup",
"DE.Views.DocumentHolder.updateStyleText": "Update %1 style", "DE.Views.DocumentHolder.updateStyleText": "Update %1 style",
"DE.Views.DocumentHolder.vertAlignText": "Vertical Alignment", "DE.Views.DocumentHolder.vertAlignText": "Vertical Alignment",
"DE.Views.DocumentHolder.textReplace": "Replace image",
"DE.Views.DocumentHolder.textFromUrl": "From URL",
"DE.Views.DocumentHolder.textFromFile": "From File",
"DE.Views.DropcapSettingsAdvanced.cancelButtonText": "Cancel", "DE.Views.DropcapSettingsAdvanced.cancelButtonText": "Cancel",
"DE.Views.DropcapSettingsAdvanced.okButtonText": "Ok", "DE.Views.DropcapSettingsAdvanced.okButtonText": "Ok",
"DE.Views.DropcapSettingsAdvanced.strBorders": "Borders & Fill", "DE.Views.DropcapSettingsAdvanced.strBorders": "Borders & Fill",

View file

@ -2723,6 +2723,43 @@ define([
} }
}); });
var menuImgReplace = new Common.UI.MenuItem({
caption : me.textReplace,
menu : new Common.UI.Menu({
menuAlign: 'tl-tr',
items: [
new Common.UI.MenuItem({
caption : this.textFromFile
}).on('click', function(item) {
setTimeout(function(){
if (me.api) me.api.ChangeImageFromFile();
me.fireEvent('editcomplete', me);
}, 10);
}),
new Common.UI.MenuItem({
caption : this.textFromUrl
}).on('click', function(item) {
var me = this;
(new Common.Views.ImageFromUrlDialog({
handler: function(result, value) {
if (result == 'ok') {
if (me.api) {
var checkUrl = value.replace(/ /g, '');
if (!_.isEmpty(checkUrl)) {
var props = new Asc.asc_CImgProperty();
props.put_ImageUrl(checkUrl);
me.api.ImgApply(props);
}
}
}
me.fireEvent('editcomplete', me);
}
})).show();
})
]
})
});
/** coauthoring begin **/ /** coauthoring begin **/
var menuAddCommentPara = new Common.UI.MenuItem({ var menuAddCommentPara = new Common.UI.MenuItem({
caption : me.addCommentText caption : me.addCommentText
@ -3117,18 +3154,23 @@ define([
mnuGroupImg.setDisabled(!me.api.canGroup()); mnuGroupImg.setDisabled(!me.api.canGroup());
} }
var imgdisabled = (value.imgProps!==undefined && value.imgProps.locked), var isimage = (_.isUndefined(value.shapeProps) || value.shapeProps.value.get_FromImage()) && _.isUndefined(value.chartProps),
imgdisabled = (value.imgProps!==undefined && value.imgProps.locked),
shapedisabled = (value.shapeProps!==undefined && value.shapeProps.locked), shapedisabled = (value.shapeProps!==undefined && value.shapeProps.locked),
chartdisabled = (value.chartProps!==undefined && value.chartProps.locked), chartdisabled = (value.chartProps!==undefined && value.chartProps.locked),
disabled = imgdisabled || shapedisabled || chartdisabled || (value.slideProps!==undefined && value.slideProps.locked); disabled = imgdisabled || shapedisabled || chartdisabled || (value.slideProps!==undefined && value.slideProps.locked),
pluginGuid = (value.imgProps) ? value.imgProps.value.asc_getPluginGuid() : null;
// image properties // image properties
menuImgOriginalSize.setVisible((_.isUndefined(value.shapeProps) || value.shapeProps.value.get_FromImage()) && _.isUndefined(value.chartProps)); menuImgOriginalSize.setVisible(isimage);
if (menuImgOriginalSize.isVisible()) if (menuImgOriginalSize.isVisible())
menuImgOriginalSize.setDisabled(disabled || _.isNull(value.imgProps.value.get_ImageUrl()) || _.isUndefined(value.imgProps.value.get_ImageUrl())); menuImgOriginalSize.setDisabled(disabled || _.isNull(value.imgProps.value.get_ImageUrl()) || _.isUndefined(value.imgProps.value.get_ImageUrl()));
menuImageAdvanced.setVisible((_.isUndefined(value.shapeProps) || value.shapeProps.value.get_FromImage()) && _.isUndefined(value.chartProps)); menuImgReplace.setVisible(isimage && (pluginGuid===null || pluginGuid===undefined));
if (menuImgReplace.isVisible())
menuImgReplace.setDisabled(disabled || pluginGuid===null);
menuImageAdvanced.setVisible(isimage);
menuShapeAdvanced.setVisible(_.isUndefined(value.imgProps) && _.isUndefined(value.chartProps)); menuShapeAdvanced.setVisible(_.isUndefined(value.imgProps) && _.isUndefined(value.chartProps));
menuChartEdit.setVisible(_.isUndefined(value.imgProps) && !_.isUndefined(value.chartProps) && (_.isUndefined(value.shapeProps) || value.shapeProps.isChart)); menuChartEdit.setVisible(_.isUndefined(value.imgProps) && !_.isUndefined(value.chartProps) && (_.isUndefined(value.shapeProps) || value.shapeProps.isChart));
menuImgShapeSeparator.setVisible(menuImageAdvanced.isVisible() || menuShapeAdvanced.isVisible() || menuChartEdit.isVisible()); menuImgShapeSeparator.setVisible(menuImageAdvanced.isVisible() || menuShapeAdvanced.isVisible() || menuChartEdit.isVisible());
@ -3155,6 +3197,7 @@ define([
menuImgShapeAlign, menuImgShapeAlign,
menuImgShapeSeparator, menuImgShapeSeparator,
menuImgOriginalSize, menuImgOriginalSize,
menuImgReplace,
menuImageAdvanced, menuImageAdvanced,
menuShapeAdvanced menuShapeAdvanced
,menuChartEdit ,menuChartEdit
@ -3399,7 +3442,10 @@ define([
txtPasteSourceFormat: 'Keep source formatting', txtPasteSourceFormat: 'Keep source formatting',
txtPasteDestFormat: 'Use destination theme', txtPasteDestFormat: 'Use destination theme',
textDistributeRows: 'Distribute rows', textDistributeRows: 'Distribute rows',
textDistributeCols: 'Distribute columns' textDistributeCols: 'Distribute columns',
textReplace: 'Replace image',
textFromUrl: 'From URL',
textFromFile: 'From File'
}, PE.Views.DocumentHolder || {})); }, PE.Views.DocumentHolder || {}));
}); });

View file

@ -174,7 +174,7 @@ define([
this.btnOriginalSize.setDisabled(props.get_ImageUrl()===null || props.get_ImageUrl()===undefined || this._locked); this.btnOriginalSize.setDisabled(props.get_ImageUrl()===null || props.get_ImageUrl()===undefined || this._locked);
var pluginGuid = props.asc_getPluginGuid(); var pluginGuid = props.asc_getPluginGuid();
value = (pluginGuid !== null && pluginGuid !== undefined); value = (pluginGuid !== null && pluginGuid !== undefined); // undefined - only images are selected, null - selected images and ole-objects
if (this._state.isOleObject!==value) { if (this._state.isOleObject!==value) {
this.btnInsertFromUrl.setVisible(!value); this.btnInsertFromUrl.setVisible(!value);
this.btnInsertFromFile.setVisible(!value); this.btnInsertFromFile.setVisible(!value);

View file

@ -901,6 +901,9 @@
"PE.Views.DocumentHolder.txtUnderbar": "Bar under text", "PE.Views.DocumentHolder.txtUnderbar": "Bar under text",
"PE.Views.DocumentHolder.txtUngroup": "Ungroup", "PE.Views.DocumentHolder.txtUngroup": "Ungroup",
"PE.Views.DocumentHolder.vertAlignText": "Vertical Alignment", "PE.Views.DocumentHolder.vertAlignText": "Vertical Alignment",
"PE.Views.DocumentHolder.textReplace": "Replace image",
"PE.Views.DocumentHolder.textFromUrl": "From URL",
"PE.Views.DocumentHolder.textFromFile": "From File",
"PE.Views.DocumentPreview.goToSlideText": "Go to Slide", "PE.Views.DocumentPreview.goToSlideText": "Go to Slide",
"PE.Views.DocumentPreview.slideIndexText": "Slide {0} of {1}", "PE.Views.DocumentPreview.slideIndexText": "Slide {0} of {1}",
"PE.Views.DocumentPreview.txtClose": "Close slideshow", "PE.Views.DocumentPreview.txtClose": "Close slideshow",

View file

@ -194,6 +194,8 @@ define([
view.textInShapeMenu.on('render:after', _.bind(me.onTextInShapeAfterRender, me)); view.textInShapeMenu.on('render:after', _.bind(me.onTextInShapeAfterRender, me));
view.menuSignatureEditSign.on('click', _.bind(me.onSignatureClick, me)); view.menuSignatureEditSign.on('click', _.bind(me.onSignatureClick, me));
view.menuSignatureEditSetup.on('click', _.bind(me.onSignatureClick, me)); view.menuSignatureEditSetup.on('click', _.bind(me.onSignatureClick, me));
view.menuImgOriginalSize.on('click', _.bind(me.onOriginalSizeClick, me));
view.menuImgReplace.menu.on('item:click', _.bind(me.onImgReplace, me));
} else { } else {
view.menuViewCopy.on('click', _.bind(me.onCopyPaste, me)); view.menuViewCopy.on('click', _.bind(me.onCopyPaste, me));
view.menuViewUndo.on('click', _.bind(me.onUndo, me)); view.menuViewUndo.on('click', _.bind(me.onUndo, me));
@ -1314,6 +1316,15 @@ define([
documentHolder.pmiImgPaste.setDisabled(isObjLocked); documentHolder.pmiImgPaste.setDisabled(isObjLocked);
documentHolder.mnuImgAdvanced.setVisible(isimagemenu && (!isshapemenu || isimageonly) && !ischartmenu); documentHolder.mnuImgAdvanced.setVisible(isimagemenu && (!isshapemenu || isimageonly) && !ischartmenu);
documentHolder.mnuImgAdvanced.setDisabled(isObjLocked); documentHolder.mnuImgAdvanced.setDisabled(isObjLocked);
documentHolder.menuImgOriginalSize.setVisible(isimagemenu && (!isshapemenu || isimageonly) && !ischartmenu);
if (documentHolder.mnuImgAdvanced.imageInfo)
documentHolder.menuImgOriginalSize.setDisabled(isObjLocked || documentHolder.mnuImgAdvanced.imageInfo.get_ImageUrl()===null || documentHolder.mnuImgAdvanced.imageInfo.get_ImageUrl()===undefined);
var pluginGuid = (documentHolder.mnuImgAdvanced.imageInfo) ? documentHolder.mnuImgAdvanced.imageInfo.asc_getPluginGuid() : null;
documentHolder.menuImgReplace.setVisible(isimageonly && (pluginGuid===null || pluginGuid===undefined));
documentHolder.menuImgReplace.setDisabled(isObjLocked || pluginGuid===null);
var isInSign = !!signGuid; var isInSign = !!signGuid;
documentHolder.menuSignatureEditSign.setVisible(isInSign); documentHolder.menuSignatureEditSign.setVisible(isInSign);
@ -2598,6 +2609,50 @@ define([
} }
}, },
onOriginalSizeClick: function(item) {
if (this.api){
var imgsize = this.api.asc_getOriginalImageSize();
var w = imgsize.asc_getImageWidth();
var h = imgsize.asc_getImageHeight();
var properties = new Asc.asc_CImgProperty();
properties.asc_putWidth(w);
properties.asc_putHeight(h);
this.api.asc_setGraphicObjectProps(properties);
Common.NotificationCenter.trigger('edit:complete', this.documentHolder);
Common.component.Analytics.trackEvent('DocumentHolder', 'Set Image Original Size');
}
},
onImgReplace: function(menu, item) {
var me = this;
if (this.api) {
if (item.value == 'file') {
setTimeout(function(){
if (me.api) me.api.asc_changeImageFromFile();
Common.NotificationCenter.trigger('edit:complete', me.documentHolder);
}, 10);
} else {
(new Common.Views.ImageFromUrlDialog({
handler: function(result, value) {
if (result == 'ok') {
if (me.api) {
var checkUrl = value.replace(/ /g, '');
if (!_.isEmpty(checkUrl)) {
var props = new Asc.asc_CImgProperty();
props.asc_putImageUrl(checkUrl);
me.api.asc_setGraphicObjectProps(props);
}
}
}
Common.NotificationCenter.trigger('edit:complete', me.documentHolder);
}
})).show();
}
}
},
SetDisabled: function(state, canProtect) { SetDisabled: function(state, canProtect) {
this._isDisabled = state; this._isDisabled = state;
this._canProtect = canProtect; this._canProtect = canProtect;

View file

@ -489,6 +489,21 @@ define([
me.menuSignatureEditSetup = new Common.UI.MenuItem({caption: this.strSetup, value: 2 }); me.menuSignatureEditSetup = new Common.UI.MenuItem({caption: this.strSetup, value: 2 });
me.menuEditSignSeparator = new Common.UI.MenuItem({ caption: '--' }); me.menuEditSignSeparator = new Common.UI.MenuItem({ caption: '--' });
me.menuImgOriginalSize = new Common.UI.MenuItem({
caption : me.originalSizeText
});
me.menuImgReplace = new Common.UI.MenuItem({
caption : me.textReplace,
menu : new Common.UI.Menu({
menuAlign: 'tl-tr',
items: [
new Common.UI.MenuItem({caption : this.textFromFile, value: 'file'}),
new Common.UI.MenuItem({caption : this.textFromUrl, value: 'url'})
]
})
});
this.imgMenu = new Common.UI.Menu({ this.imgMenu = new Common.UI.Menu({
items: [ items: [
me.pmiImgCut, me.pmiImgCut,
@ -525,6 +540,8 @@ define([
me.mnuShapeSeparator, me.mnuShapeSeparator,
me.mnuChartEdit, me.mnuChartEdit,
me.mnuShapeAdvanced, me.mnuShapeAdvanced,
me.menuImgOriginalSize,
me.menuImgReplace,
me.mnuImgAdvanced me.mnuImgAdvanced
] ]
}); });
@ -811,7 +828,11 @@ define([
strSign: 'Sign', strSign: 'Sign',
strDetails: 'Signature Details', strDetails: 'Signature Details',
strSetup: 'Signature Setup', strSetup: 'Signature Setup',
strDelete: 'Remove Signature' strDelete: 'Remove Signature',
originalSizeText: 'Default Size',
textReplace: 'Replace image',
textFromUrl: 'From URL',
textFromFile: 'From File'
}, SSE.Views.DocumentHolder || {})); }, SSE.Views.DocumentHolder || {}));
}); });

View file

@ -1168,6 +1168,10 @@
"SSE.Views.DocumentHolder.txtUngroup": "Ungroup", "SSE.Views.DocumentHolder.txtUngroup": "Ungroup",
"SSE.Views.DocumentHolder.txtWidth": "Width", "SSE.Views.DocumentHolder.txtWidth": "Width",
"SSE.Views.DocumentHolder.vertAlignText": "Vertical Alignment", "SSE.Views.DocumentHolder.vertAlignText": "Vertical Alignment",
"SSE.Views.DocumentHolder.originalSizeText": "Default Size",
"SSE.Views.DocumentHolder.textReplace": "Replace image",
"SSE.Views.DocumentHolder.textFromUrl": "From URL",
"SSE.Views.DocumentHolder.textFromFile": "From File",
"SSE.Views.FileMenu.btnBackCaption": "Go to Documents", "SSE.Views.FileMenu.btnBackCaption": "Go to Documents",
"SSE.Views.FileMenu.btnCloseMenuCaption": "Close Menu", "SSE.Views.FileMenu.btnCloseMenuCaption": "Close Menu",
"SSE.Views.FileMenu.btnCreateNewCaption": "Create New", "SSE.Views.FileMenu.btnCreateNewCaption": "Create New",