[DE] Refactoring context menu for image

This commit is contained in:
Julia Radzhabova 2022-05-04 16:51:53 +03:00
parent 1697ee0baf
commit 4d3ce4c3da
2 changed files with 369 additions and 345 deletions

View file

@ -388,7 +388,16 @@ define([
view.menuTableSelectText.menu.on('item:click', _.bind(me.tableSelectText, me)); view.menuTableSelectText.menu.on('item:click', _.bind(me.tableSelectText, me));
view.menuTableInsertText.menu.on('item:click', _.bind(me.tableInsertText, me)); view.menuTableInsertText.menu.on('item:click', _.bind(me.tableInsertText, me));
view.menuTableDeleteText.menu.on('item:click', _.bind(me.tableDeleteText, me)); view.menuTableDeleteText.menu.on('item:click', _.bind(me.tableDeleteText, me));
view.menuImageAlign.menu.on('item:click', _.bind(me.onImgAlign, me));
view.menuImageArrange.menu.on('item:click', _.bind(me.onImgArrange, me));
view.mnuGroup.on('click', _.bind(me.onImgGroup, me));
view.mnuUnGroup.on('click', _.bind(me.onImgUnGroup, me));
view.menuWrapPolygon.on('click', _.bind(me.onImgWrapPolygon, me));
view.menuImageWrap.menu.on('item:click', _.bind(me.onImgWrap, me));
view.menuImageAdvanced.on('click', _.bind(me.onImgAdvanced, me));
view.menuOriginalSize.on('click', _.bind(me.onImgOriginalSize, me));
view.menuImgReplace.menu.on('item:click', _.bind(me.onImgReplace, me));
view.menuImgEditPoints.on('click', _.bind(me.onImgEditPoints, me));
}, },
getView: function (name) { getView: function (name) {
@ -1930,6 +1939,180 @@ define([
} }
}, },
onImgAlign: function(menu, item, e) {
var me = this;
if (me.api) {
var alignto = Common.Utils.InternalSettings.get("de-img-align-to"),
value = (alignto==1) ? Asc.c_oAscObjectsAlignType.Page : ((me.api.asc_getSelectedDrawingObjectsCount()<2 && !alignto || alignto==2) ? Asc.c_oAscObjectsAlignType.Margin : Asc.c_oAscObjectsAlignType.Selected);
if (item.value < 6) {
me.api.put_ShapesAlign(item.value, value);
Common.component.Analytics.trackEvent('DocumentHolder', 'Shape Align');
} else if (item.value == 6) {
me.api.DistributeHorizontally(value);
Common.component.Analytics.trackEvent('DocumentHolder', 'Distribute Horizontally');
} else if (item.value == 7){
me.api.DistributeVertically(value);
Common.component.Analytics.trackEvent('DocumentHolder', 'Distribute Vertically');
}
}
me.documentHolder.fireEvent('editcomplete', me.documentHolder);
},
onImgArrange: function(menu, item, e) {
var me = this;
if (me.api && item.options.valign!==undefined) {
var properties = new Asc.asc_CImgProperty();
properties.put_ChangeLevel(item.options.valign);
me.api.ImgApply(properties);
}
me.documentHolder.fireEvent('editcomplete', me.documentHolder);
},
onImgGroup: function(item) {
var me = this;
if (me.api) {
var properties = new Asc.asc_CImgProperty();
properties.put_Group(1);
me.api.ImgApply(properties);
}
me.documentHolder.fireEvent('editcomplete', me.documentHolder);
},
onImgUnGroup: function(item) {
var me = this;
if (me.api) {
var properties = new Asc.asc_CImgProperty();
properties.put_Group(-1);
me.api.ImgApply(properties);
}
me.documentHolder.fireEvent('editcomplete', me.documentHolder);
},
onImgWrapPolygon: function(item) {
this.api && this.api.StartChangeWrapPolygon();
this.documentHolder.fireEvent('editcomplete', this.documentHolder);
},
onImgWrap: function (menu, item, e) {
var me = this;
if (me.api && item.options.wrapType!==undefined) {
var properties = new Asc.asc_CImgProperty();
properties.put_WrappingStyle(item.options.wrapType);
if (me.documentHolder.menuImageWrap._originalProps.get_WrappingStyle() === Asc.c_oAscWrapStyle2.Inline && item.wrapType !== Asc.c_oAscWrapStyle2.Inline ) {
properties.put_PositionH(new Asc.CImagePositionH());
properties.get_PositionH().put_UseAlign(false);
properties.get_PositionH().put_RelativeFrom(Asc.c_oAscRelativeFromH.Column);
var val = me.documentHolder.menuImageWrap._originalProps.get_Value_X(Asc.c_oAscRelativeFromH.Column);
properties.get_PositionH().put_Value(val);
properties.put_PositionV(new Asc.CImagePositionV());
properties.get_PositionV().put_UseAlign(false);
properties.get_PositionV().put_RelativeFrom(Asc.c_oAscRelativeFromV.Paragraph);
val = me.documentHolder.menuImageWrap._originalProps.get_Value_Y(Asc.c_oAscRelativeFromV.Paragraph);
properties.get_PositionV().put_Value(val);
}
me.api.ImgApply(properties);
}
me.documentHolder.fireEvent('editcomplete', me.documentHolder);
},
onImgAdvanced: function(item, e) {
var elType, elValue;
var me = this;
if (me.api){
var selectedElements = me.api.getSelectedElements();
if (selectedElements && _.isArray(selectedElements)) {
for (var i = selectedElements.length - 1; i >= 0; i--) {
elType = selectedElements[i].get_ObjectType();
elValue = selectedElements[i].get_ObjectValue();
if (Asc.c_oAscTypeSelectElement.Image == elType) {
var imgsizeOriginal;
if ( !elValue.get_ChartProperties() && !elValue.get_ShapeProperties() && !me.documentHolder.menuOriginalSize.isDisabled() && me.documentHolder.menuOriginalSize.isVisible()) {
imgsizeOriginal = me.api.get_OriginalSizeImage();
if (imgsizeOriginal)
imgsizeOriginal = {width:imgsizeOriginal.get_ImageWidth(), height:imgsizeOriginal.get_ImageHeight()};
}
var win = new DE.Views.ImageSettingsAdvanced({
imageProps : elValue,
sizeOriginal: imgsizeOriginal,
api : me.api,
sectionProps: me.api.asc_GetSectionProps(),
handler : function(result, value) {
if (result == 'ok') {
if (me.api) {
me.api.ImgApply(value.imageProps);
}
}
me.documentHolder.fireEvent('editcomplete', me.documentHolder);
}
});
win.show();
win.btnOriginalSize.setVisible(me.documentHolder.menuOriginalSize.isVisible());
break;
}
}
}
}
},
onImgOriginalSize: function(item, e) {
var me = this;
if (me.api){
var originalImageSize = me.api.get_OriginalSizeImage();
var properties = new Asc.asc_CImgProperty();
properties.put_Width(originalImageSize.get_ImageWidth());
properties.put_Height(originalImageSize.get_ImageHeight());
properties.put_ResetCrop(true);
properties.put_Rot(0);
me.api.ImgApply(properties);
me.documentHolder.fireEvent('editcomplete', me.documentHolder);
}
},
onImgReplace: function(menu, item, e) {
var me = this;
if (item.value==1) {
(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.documentHolder.fireEvent('editcomplete', me.documentHolder);
}
})).show();
} else if (item.value==2) {
Common.NotificationCenter.trigger('storage:image-load', 'change');
} else {
setTimeout(function(){
if (me.api) me.api.ChangeImageFromFile();
me.documentHolder.fireEvent('editcomplete', me.documentHolder);
}, 10);
}
},
onImgEditPoints: function(item) {
this.api && this.api.asc_editPointsGeometry();
},
editComplete: function() {
this.documentHolder && this.documentHolder.fireEvent('editcomplete', this.documentHolder);
},
}); });
}); });

View file

@ -272,293 +272,179 @@ define([
}); });
var menuEquationInsertCaptionSeparator = new Common.UI.MenuItem({ caption: '--' }); var menuEquationInsertCaptionSeparator = new Common.UI.MenuItem({ caption: '--' });
var menuImageAlign = new Common.UI.MenuItem({ me.menuImageAlign = new Common.UI.MenuItem({
caption : me.textAlign, caption : me.textAlign,
menu : (function(){ menu : new Common.UI.Menu({
function onItemClick(item, e) { cls: 'ppm-toolbar shifted-right',
if (me.api) { menuAlign: 'tl-tr',
var alignto = Common.Utils.InternalSettings.get("de-img-align-to"), items: [
value = (alignto==1) ? Asc.c_oAscObjectsAlignType.Page : ((me.api.asc_getSelectedDrawingObjectsCount()<2 && !alignto || alignto==2) ? Asc.c_oAscObjectsAlignType.Margin : Asc.c_oAscObjectsAlignType.Selected); new Common.UI.MenuItem({
if (item.value < 6) { caption : me.textShapeAlignLeft,
me.api.put_ShapesAlign(item.value, value); iconCls : 'menu__icon shape-align-left',
Common.component.Analytics.trackEvent('DocumentHolder', 'Shape Align'); value: Asc.c_oAscAlignShapeType.ALIGN_LEFT
} else if (item.value == 6) { }),
me.api.DistributeHorizontally(value); new Common.UI.MenuItem({
Common.component.Analytics.trackEvent('DocumentHolder', 'Distribute Horizontally'); caption : me.textShapeAlignCenter,
} else if (item.value == 7){ iconCls : 'menu__icon shape-align-center',
me.api.DistributeVertically(value); value: Asc.c_oAscAlignShapeType.ALIGN_CENTER
Common.component.Analytics.trackEvent('DocumentHolder', 'Distribute Vertically'); }),
} new Common.UI.MenuItem({
} caption : me.textShapeAlignRight,
me.fireEvent('editcomplete', me); iconCls : 'menu__icon shape-align-right',
} value: Asc.c_oAscAlignShapeType.ALIGN_RIGHT
return new Common.UI.Menu({ }),
cls: 'ppm-toolbar shifted-right', new Common.UI.MenuItem({
menuAlign: 'tl-tr', caption : me.textShapeAlignTop,
items: [ iconCls : 'menu__icon shape-align-top',
new Common.UI.MenuItem({ value: Asc.c_oAscAlignShapeType.ALIGN_TOP
caption : me.textShapeAlignLeft, }),
iconCls : 'menu__icon shape-align-left', new Common.UI.MenuItem({
value: Asc.c_oAscAlignShapeType.ALIGN_LEFT caption : me.textShapeAlignMiddle,
}).on('click', onItemClick), iconCls : 'menu__icon shape-align-middle',
new Common.UI.MenuItem({ value: Asc.c_oAscAlignShapeType.ALIGN_MIDDLE
caption : me.textShapeAlignCenter, }),
iconCls : 'menu__icon shape-align-center', new Common.UI.MenuItem({
value: Asc.c_oAscAlignShapeType.ALIGN_CENTER caption : me.textShapeAlignBottom,
}).on('click', onItemClick), iconCls : 'menu__icon shape-align-bottom',
new Common.UI.MenuItem({ value: Asc.c_oAscAlignShapeType.ALIGN_BOTTOM
caption : me.textShapeAlignRight, }),
iconCls : 'menu__icon shape-align-right', {caption : '--'},
value: Asc.c_oAscAlignShapeType.ALIGN_RIGHT new Common.UI.MenuItem({
}).on('click', onItemClick), caption : me.txtDistribHor,
new Common.UI.MenuItem({ iconCls : 'menu__icon shape-distribute-hor',
caption : me.textShapeAlignTop, value : 6
iconCls : 'menu__icon shape-align-top', }),
value: Asc.c_oAscAlignShapeType.ALIGN_TOP new Common.UI.MenuItem({
}).on('click', onItemClick), caption : me.txtDistribVert,
new Common.UI.MenuItem({ iconCls : 'menu__icon shape-distribute-vert',
caption : me.textShapeAlignMiddle, value : 7
iconCls : 'menu__icon shape-align-middle', })
value: Asc.c_oAscAlignShapeType.ALIGN_MIDDLE ]
}).on('click', onItemClick), })
new Common.UI.MenuItem({
caption : me.textShapeAlignBottom,
iconCls : 'menu__icon shape-align-bottom',
value: Asc.c_oAscAlignShapeType.ALIGN_BOTTOM
}).on('click', onItemClick),
{caption : '--'},
new Common.UI.MenuItem({
caption : me.txtDistribHor,
iconCls : 'menu__icon shape-distribute-hor',
value : 6
}).on('click', onItemClick),
new Common.UI.MenuItem({
caption : me.txtDistribVert,
iconCls : 'menu__icon shape-distribute-vert',
value : 7
}).on('click', onItemClick)
]
})
})()
}); });
var mnuGroup = new Common.UI.MenuItem({ me.mnuGroup = new Common.UI.MenuItem({
caption : this.txtGroup, caption : this.txtGroup,
iconCls : 'menu__icon shape-group' iconCls : 'menu__icon shape-group'
}).on('click', function(item, e) {
if (me.api) {
var properties = new Asc.asc_CImgProperty();
properties.put_Group(1);
me.api.ImgApply(properties);
}
me.fireEvent('editcomplete', this);
}); });
var mnuUnGroup = new Common.UI.MenuItem({ me.mnuUnGroup = new Common.UI.MenuItem({
iconCls : 'menu__icon shape-ungroup', iconCls : 'menu__icon shape-ungroup',
caption : this.txtUngroup caption : this.txtUngroup
}).on('click', function(item, e) {
if (me.api) {
var properties = new Asc.asc_CImgProperty();
properties.put_Group(-1);
me.api.ImgApply(properties);
}
me.fireEvent('editcomplete', this);
}); });
var menuImageArrange = new Common.UI.MenuItem({ me.menuImageArrange = new Common.UI.MenuItem({
caption : me.textArrange, caption : me.textArrange,
menu : (function(){ menu : new Common.UI.Menu({
function onItemClick(item, e) { cls: 'ppm-toolbar shifted-right',
if (me.api) { menuAlign: 'tl-tr',
var properties = new Asc.asc_CImgProperty(); items: [
properties.put_ChangeLevel(item.options.valign); new Common.UI.MenuItem({
me.api.ImgApply(properties); caption : me.textArrangeFront,
} iconCls : 'menu__icon arrange-front',
me.fireEvent('editcomplete', me); valign : Asc.c_oAscChangeLevel.BringToFront
} }),
new Common.UI.MenuItem({
return new Common.UI.Menu({ caption : me.textArrangeBack,
cls: 'ppm-toolbar shifted-right', iconCls : 'menu__icon arrange-back',
menuAlign: 'tl-tr', valign : Asc.c_oAscChangeLevel.SendToBack
items: [ }),
new Common.UI.MenuItem({ new Common.UI.MenuItem({
caption : me.textArrangeFront, caption : me.textArrangeForward,
iconCls : 'menu__icon arrange-front', iconCls : 'menu__icon arrange-forward',
valign : Asc.c_oAscChangeLevel.BringToFront valign : Asc.c_oAscChangeLevel.BringForward
}).on('click', onItemClick), }),
new Common.UI.MenuItem({ new Common.UI.MenuItem({
caption : me.textArrangeBack, caption : me.textArrangeBackward,
iconCls : 'menu__icon arrange-back', iconCls : 'menu__icon arrange-backward',
valign : Asc.c_oAscChangeLevel.SendToBack valign : Asc.c_oAscChangeLevel.BringBackward
}).on('click', onItemClick), }),
new Common.UI.MenuItem({ { caption: '--' },
caption : me.textArrangeForward, me.mnuGroup,
iconCls : 'menu__icon arrange-forward', me.mnuUnGroup
valign : Asc.c_oAscChangeLevel.BringForward ]
}).on('click', onItemClick), })
new Common.UI.MenuItem({
caption : me.textArrangeBackward,
iconCls : 'menu__icon arrange-backward',
valign : Asc.c_oAscChangeLevel.BringBackward
}).on('click', onItemClick),
{ caption: '--' },
mnuGroup,
mnuUnGroup
]
})
})()
}); });
var menuWrapPolygon = new Common.UI.MenuItem({ me.menuWrapPolygon = new Common.UI.MenuItem({
caption : me.textEditWrapBoundary, caption : me.textEditWrapBoundary,
cls : 'no-icon-wrap-item' cls : 'no-icon-wrap-item'
}).on('click', function(item, e) {
if (me.api) {
me.api.StartChangeWrapPolygon();
}
me.fireEvent('editcomplete', me);
}); });
this.menuImageWrap = new Common.UI.MenuItem({ me.menuImageWrap = new Common.UI.MenuItem({
iconCls: 'menu__icon wrap-inline', iconCls: 'menu__icon wrap-inline',
caption : me.textWrap, caption : me.textWrap,
menu : (function(){ menu : new Common.UI.Menu({
function onItemClick(item, e) { cls: 'ppm-toolbar shifted-right',
if (me.api) { menuAlign: 'tl-tr',
var properties = new Asc.asc_CImgProperty(); items: [
properties.put_WrappingStyle(item.options.wrapType); new Common.UI.MenuItem({
caption : me.txtInline,
if (me.menuImageWrap._originalProps.get_WrappingStyle() === Asc.c_oAscWrapStyle2.Inline && item.wrapType !== Asc.c_oAscWrapStyle2.Inline ) { iconCls : 'menu__icon wrap-inline',
properties.put_PositionH(new Asc.CImagePositionH()); toggleGroup : 'popuppicturewrapping',
properties.get_PositionH().put_UseAlign(false); wrapType : Asc.c_oAscWrapStyle2.Inline,
properties.get_PositionH().put_RelativeFrom(Asc.c_oAscRelativeFromH.Column); checkmark : false,
var val = me.menuImageWrap._originalProps.get_Value_X(Asc.c_oAscRelativeFromH.Column); checkable : true
properties.get_PositionH().put_Value(val); }),
{ caption: '--' },
properties.put_PositionV(new Asc.CImagePositionV()); new Common.UI.MenuItem({
properties.get_PositionV().put_UseAlign(false); caption : me.txtSquare,
properties.get_PositionV().put_RelativeFrom(Asc.c_oAscRelativeFromV.Paragraph); iconCls : 'menu__icon wrap-square',
val = me.menuImageWrap._originalProps.get_Value_Y(Asc.c_oAscRelativeFromV.Paragraph); toggleGroup : 'popuppicturewrapping',
properties.get_PositionV().put_Value(val); wrapType : Asc.c_oAscWrapStyle2.Square,
} checkmark : false,
me.api.ImgApply(properties); checkable : true
} }),
me.fireEvent('editcomplete', me); new Common.UI.MenuItem({
} caption : me.txtTight,
iconCls : 'menu__icon wrap-tight',
return new Common.UI.Menu({ toggleGroup : 'popuppicturewrapping',
cls: 'ppm-toolbar shifted-right', wrapType : Asc.c_oAscWrapStyle2.Tight,
menuAlign: 'tl-tr', checkmark : false,
items: [ checkable : true
new Common.UI.MenuItem({ }),
caption : me.txtInline, new Common.UI.MenuItem({
iconCls : 'menu__icon wrap-inline', caption : me.txtThrough,
toggleGroup : 'popuppicturewrapping', iconCls : 'menu__icon wrap-through',
wrapType : Asc.c_oAscWrapStyle2.Inline, toggleGroup : 'popuppicturewrapping',
checkmark : false, wrapType : Asc.c_oAscWrapStyle2.Through,
checkable : true checkmark : false,
}).on('click', onItemClick), checkable : true
{ caption: '--' }, }),
new Common.UI.MenuItem({ new Common.UI.MenuItem({
caption : me.txtSquare, caption : me.txtTopAndBottom,
iconCls : 'menu__icon wrap-square', iconCls : 'menu__icon wrap-topandbottom',
toggleGroup : 'popuppicturewrapping', toggleGroup : 'popuppicturewrapping',
wrapType : Asc.c_oAscWrapStyle2.Square, wrapType : Asc.c_oAscWrapStyle2.TopAndBottom,
checkmark : false, checkmark : false,
checkable : true checkable : true
}).on('click', onItemClick), }),
new Common.UI.MenuItem({ { caption: '--' },
caption : me.txtTight, new Common.UI.MenuItem({
iconCls : 'menu__icon wrap-tight', caption : me.txtInFront,
toggleGroup : 'popuppicturewrapping', iconCls : 'menu__icon wrap-infront',
wrapType : Asc.c_oAscWrapStyle2.Tight, toggleGroup : 'popuppicturewrapping',
checkmark : false, wrapType : Asc.c_oAscWrapStyle2.InFront,
checkable : true checkmark : false,
}).on('click', onItemClick), checkable : true
new Common.UI.MenuItem({ }),
caption : me.txtThrough, new Common.UI.MenuItem({
iconCls : 'menu__icon wrap-through', caption : me.txtBehind,
toggleGroup : 'popuppicturewrapping', iconCls : 'menu__icon wrap-behind',
wrapType : Asc.c_oAscWrapStyle2.Through, toggleGroup : 'popuppicturewrapping',
checkmark : false, wrapType : Asc.c_oAscWrapStyle2.Behind,
checkable : true checkmark : false,
}).on('click', onItemClick), checkable : true
new Common.UI.MenuItem({ }),
caption : me.txtTopAndBottom, { caption: '--' },
iconCls : 'menu__icon wrap-topandbottom', me.menuWrapPolygon
toggleGroup : 'popuppicturewrapping', ]
wrapType : Asc.c_oAscWrapStyle2.TopAndBottom, })
checkmark : false,
checkable : true
}).on('click', onItemClick),
{ caption: '--' },
new Common.UI.MenuItem({
caption : me.txtInFront,
iconCls : 'menu__icon wrap-infront',
toggleGroup : 'popuppicturewrapping',
wrapType : Asc.c_oAscWrapStyle2.InFront,
checkmark : false,
checkable : true
}).on('click', onItemClick),
new Common.UI.MenuItem({
caption : me.txtBehind,
iconCls : 'menu__icon wrap-behind',
toggleGroup : 'popuppicturewrapping',
wrapType : Asc.c_oAscWrapStyle2.Behind,
checkmark : false,
checkable : true
}).on('click', onItemClick),
{ caption: '--' },
menuWrapPolygon
]
})
})()
}); });
var menuImageAdvanced = new Common.UI.MenuItem({ me.menuImageAdvanced = new Common.UI.MenuItem({
iconCls: 'menu__icon btn-menu-image', iconCls: 'menu__icon btn-menu-image',
caption : me.advancedText caption : me.advancedText
}).on('click', function(item, e) {
var elType, elValue;
if (me.api){
var selectedElements = me.api.getSelectedElements();
if (selectedElements && _.isArray(selectedElements)) {
for (var i = selectedElements.length - 1; i >= 0; i--) {
elType = selectedElements[i].get_ObjectType();
elValue = selectedElements[i].get_ObjectValue();
if (Asc.c_oAscTypeSelectElement.Image == elType) {
var imgsizeOriginal;
if ( !elValue.get_ChartProperties() && !elValue.get_ShapeProperties() && !me.menuOriginalSize.isDisabled() && me.menuOriginalSize.isVisible()) {
imgsizeOriginal = me.api.get_OriginalSizeImage();
if (imgsizeOriginal)
imgsizeOriginal = {width:imgsizeOriginal.get_ImageWidth(), height:imgsizeOriginal.get_ImageHeight()};
}
var win = new DE.Views.ImageSettingsAdvanced({
imageProps : elValue,
sizeOriginal: imgsizeOriginal,
api : me.api,
sectionProps: me.api.asc_GetSectionProps(),
handler : function(result, value) {
if (result == 'ok') {
if (me.api) {
me.api.ImgApply(value.imageProps);
}
}
me.fireEvent('editcomplete', me);
}
});
win.show();
win.btnOriginalSize.setVisible(me.menuOriginalSize.isVisible());
break;
}
}
}
}
}); });
me.menuChartEdit = new Common.UI.MenuItem({ me.menuChartEdit = new Common.UI.MenuItem({
@ -569,61 +455,19 @@ define([
caption : '--' caption : '--'
}); });
this.menuOriginalSize = new Common.UI.MenuItem({ me.menuOriginalSize = new Common.UI.MenuItem({
caption : me.originalSizeText caption : me.originalSizeText
}).on('click', function(item, e) {
if (me.api){
var originalImageSize = me.api.get_OriginalSizeImage();
var properties = new Asc.asc_CImgProperty();
properties.put_Width(originalImageSize.get_ImageWidth());
properties.put_Height(originalImageSize.get_ImageHeight());
properties.put_ResetCrop(true);
properties.put_Rot(0);
me.api.ImgApply(properties);
me.fireEvent('editcomplete', this);
}
}); });
var menuImgReplace = new Common.UI.MenuItem({ me.menuImgReplace = new Common.UI.MenuItem({
caption : me.textReplace, caption : me.textReplace,
menu : new Common.UI.Menu({ menu : new Common.UI.Menu({
cls: 'shifted-right', cls: 'shifted-right',
menuAlign: 'tl-tr', menuAlign: 'tl-tr',
items: [ items: [
new Common.UI.MenuItem({ new Common.UI.MenuItem({caption: this.textFromFile, value: 0}),
caption : this.textFromFile new Common.UI.MenuItem({caption: this.textFromUrl, value: 1}),
}).on('click', function(item) { new Common.UI.MenuItem({caption: this.textFromStorage, value: 2})
setTimeout(function(){
if (me.api) me.api.ChangeImageFromFile();
me.fireEvent('editcomplete', me);
}, 10);
}),
new Common.UI.MenuItem({
caption : this.textFromUrl
}).on('click', function(item) {
(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();
}),
new Common.UI.MenuItem({
caption : this.textFromStorage
}).on('click', function(item) {
Common.NotificationCenter.trigger('storage:image-load', 'change');
})
] ]
}) })
}); });
@ -739,10 +583,8 @@ define([
caption : '--' caption : '--'
}); });
var menuImgEditPoints = new Common.UI.MenuItem({ me.menuImgEditPoints = new Common.UI.MenuItem({
caption: me.textEditPoints caption: me.textEditPoints
}).on('click', function(item) {
me.api && me.api.asc_editPointsGeometry();
}); });
var menuImgEditPointsSeparator = new Common.UI.MenuItem({ var menuImgEditPointsSeparator = new Common.UI.MenuItem({
@ -811,17 +653,16 @@ define([
}); });
var onlyCommonProps = ( value.imgProps.isImg && value.imgProps.isChart || value.imgProps.isImg && value.imgProps.isShape || var onlyCommonProps = ( value.imgProps.isImg && value.imgProps.isChart || value.imgProps.isImg && value.imgProps.isShape ||
value.imgProps.isShape && value.imgProps.isChart); value.imgProps.isShape && value.imgProps.isChart);
if (onlyCommonProps) { if (onlyCommonProps) {
menuImageAdvanced.setCaption(me.advancedText, true); me.menuImageAdvanced.setCaption(me.advancedText, true);
menuImageAdvanced.setIconCls('menu__icon btn-menu-image'); me.menuImageAdvanced.setIconCls('menu__icon btn-menu-image');
} else { } else {
menuImageAdvanced.setCaption((value.imgProps.isImg) ? me.imageText : ((value.imgProps.isChart) ? me.chartText : me.shapeText), true); me.menuImageAdvanced.setCaption((value.imgProps.isImg) ? me.imageText : ((value.imgProps.isChart) ? me.chartText : me.shapeText), true);
menuImageAdvanced.setIconCls('menu__icon ' + (value.imgProps.isImg ? 'btn-menu-image' : (value.imgProps.isChart ? 'btn-menu-chart' : 'btn-menu-shape'))); me.menuImageAdvanced.setIconCls('menu__icon ' + (value.imgProps.isImg ? 'btn-menu-image' : (value.imgProps.isChart ? 'btn-menu-chart' : 'btn-menu-shape')));
} }
me.menuChartEdit.setVisible(!_.isNull(value.imgProps.value.get_ChartProperties()) && !onlyCommonProps); me.menuChartEdit.setVisible(!_.isNull(value.imgProps.value.get_ChartProperties()) && !onlyCommonProps);
me.menuOriginalSize.setVisible(value.imgProps.isOnlyImg || !value.imgProps.isChart && !value.imgProps.isShape); me.menuOriginalSize.setVisible(value.imgProps.isOnlyImg || !value.imgProps.isChart && !value.imgProps.isShape);
var in_control = me.api.asc_IsContentControl(), var in_control = me.api.asc_IsContentControl(),
@ -840,10 +681,10 @@ define([
var islocked = value.imgProps.locked || (value.headerProps!==undefined && value.headerProps.locked) || content_locked; var islocked = value.imgProps.locked || (value.headerProps!==undefined && value.headerProps.locked) || content_locked;
var pluginGuid = value.imgProps.value.asc_getPluginGuid(); var pluginGuid = value.imgProps.value.asc_getPluginGuid();
menuImgReplace.setVisible(value.imgProps.isOnlyImg && (pluginGuid===null || pluginGuid===undefined)); me.menuImgReplace.setVisible(value.imgProps.isOnlyImg && (pluginGuid===null || pluginGuid===undefined));
if (menuImgReplace.isVisible()) if (me.menuImgReplace.isVisible())
menuImgReplace.setDisabled(islocked || pluginGuid===null); me.menuImgReplace.setDisabled(islocked || pluginGuid===null);
menuImgReplace.menu.items[2].setVisible(me.mode.canRequestInsertImage || me.mode.fileChoiceUrl && me.mode.fileChoiceUrl.indexOf("{documentType}")>-1); me.menuImgReplace.menu.items[2].setVisible(me.mode.canRequestInsertImage || me.mode.fileChoiceUrl && me.mode.fileChoiceUrl.indexOf("{documentType}")>-1);
me.menuImgRotate.setVisible(!value.imgProps.isChart && (pluginGuid===null || pluginGuid===undefined)); me.menuImgRotate.setVisible(!value.imgProps.isChart && (pluginGuid===null || pluginGuid===undefined));
if (me.menuImgRotate.isVisible()) { if (me.menuImgRotate.isVisible()) {
@ -861,28 +702,28 @@ define([
menuChartEditSeparator.setVisible(me.menuChartEdit.isVisible()); menuChartEditSeparator.setVisible(me.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); me.menuImageAdvanced.setDisabled(islocked);
menuImageAlign.setDisabled( islocked || (wrapping == Asc.c_oAscWrapStyle2.Inline) ); me.menuImageAlign.setDisabled( islocked || (wrapping == Asc.c_oAscWrapStyle2.Inline) );
if (!(islocked || (wrapping == Asc.c_oAscWrapStyle2.Inline))) { if (!(islocked || (wrapping == Asc.c_oAscWrapStyle2.Inline))) {
var objcount = me.api.asc_getSelectedDrawingObjectsCount(), var objcount = me.api.asc_getSelectedDrawingObjectsCount(),
alignto = Common.Utils.InternalSettings.get("de-img-align-to"); // 1 - page, 2 - margin, 3 - selected alignto = Common.Utils.InternalSettings.get("de-img-align-to"); // 1 - page, 2 - margin, 3 - selected
menuImageAlign.menu.items[7].setDisabled(objcount==2 && (!alignto || alignto==3)); me.menuImageAlign.menu.items[7].setDisabled(objcount==2 && (!alignto || alignto==3));
menuImageAlign.menu.items[8].setDisabled(objcount==2 && (!alignto || alignto==3)); me.menuImageAlign.menu.items[8].setDisabled(objcount==2 && (!alignto || alignto==3));
} }
menuImageArrange.setDisabled( (wrapping == Asc.c_oAscWrapStyle2.Inline) && !value.imgProps.value.get_FromGroup() || content_locked || me.menuImageArrange.setDisabled( (wrapping == Asc.c_oAscWrapStyle2.Inline) && !value.imgProps.value.get_FromGroup() || content_locked ||
(me.api && !me.api.CanUnGroup() && !me.api.CanGroup() && value.imgProps.isSmartArtInternal)); (me.api && !me.api.CanUnGroup() && !me.api.CanGroup() && value.imgProps.isSmartArtInternal));
menuImageArrange.menu.items[0].setDisabled(value.imgProps.isSmartArtInternal); me.menuImageArrange.menu.items[0].setDisabled(value.imgProps.isSmartArtInternal);
menuImageArrange.menu.items[1].setDisabled(value.imgProps.isSmartArtInternal); me.menuImageArrange.menu.items[1].setDisabled(value.imgProps.isSmartArtInternal);
menuImageArrange.menu.items[2].setDisabled(value.imgProps.isSmartArtInternal); me.menuImageArrange.menu.items[2].setDisabled(value.imgProps.isSmartArtInternal);
menuImageArrange.menu.items[3].setDisabled(value.imgProps.isSmartArtInternal); me.menuImageArrange.menu.items[3].setDisabled(value.imgProps.isSmartArtInternal);
if (me.api) { if (me.api) {
mnuUnGroup.setDisabled(islocked || !me.api.CanUnGroup()); me.mnuUnGroup.setDisabled(islocked || !me.api.CanUnGroup());
mnuGroup.setDisabled(islocked || !me.api.CanGroup()); me.mnuGroup.setDisabled(islocked || !me.api.CanGroup());
menuWrapPolygon.setDisabled(islocked || !me.api.CanChangeWrapPolygon()); me.menuWrapPolygon.setDisabled(islocked || !me.api.CanChangeWrapPolygon());
} }
me.menuImageWrap.setDisabled(islocked || value.imgProps.value.get_FromGroup() || (notflow && menuWrapPolygon.isDisabled()) || me.menuImageWrap.setDisabled(islocked || value.imgProps.value.get_FromGroup() || (notflow && me.menuWrapPolygon.isDisabled()) ||
(!!control_props && control_props.get_SpecificType()==Asc.c_oAscContentControlSpecificType.Picture && !control_props.get_FormPr())); (!!control_props && control_props.get_SpecificType()==Asc.c_oAscContentControlSpecificType.Picture && !control_props.get_FormPr()));
var cancopy = me.api && me.api.can_CopyCut(); var cancopy = me.api && me.api.can_CopyCut();
@ -909,9 +750,9 @@ define([
} }
var canEditPoints = me.api && me.api.asc_canEditGeometry(); var canEditPoints = me.api && me.api.asc_canEditGeometry();
menuImgEditPoints.setVisible(canEditPoints); me.menuImgEditPoints.setVisible(canEditPoints);
menuImgEditPointsSeparator.setVisible(canEditPoints); menuImgEditPointsSeparator.setVisible(canEditPoints);
canEditPoints && menuImgEditPoints.setDisabled(islocked); canEditPoints && me.menuImgEditPoints.setDisabled(islocked);
}, },
items: [ items: [
me.menuImgCut, me.menuImgCut,
@ -928,10 +769,10 @@ define([
me.menuImgRemoveControl, me.menuImgRemoveControl,
me.menuImgControlSettings, me.menuImgControlSettings,
menuImgControlSeparator, menuImgControlSeparator,
menuImgEditPoints, me.menuImgEditPoints,
menuImgEditPointsSeparator, menuImgEditPointsSeparator,
menuImageArrange, me.menuImageArrange,
menuImageAlign, me.menuImageAlign,
me.menuImageWrap, me.menuImageWrap,
me.menuImgRotate, me.menuImgRotate,
{ caption: '--' }, { caption: '--' },
@ -939,10 +780,10 @@ define([
menuInsertCaptionSeparator, menuInsertCaptionSeparator,
me.menuImgCrop, me.menuImgCrop,
me.menuOriginalSize, me.menuOriginalSize,
menuImgReplace, me.menuImgReplace,
me.menuChartEdit, me.menuChartEdit,
menuChartEditSeparator, menuChartEditSeparator,
menuImageAdvanced me.menuImageAdvanced
] ]
}).on('hide:after', function(menu, e, isFromInputControl) { }).on('hide:after', function(menu, e, isFromInputControl) {
if (!isFromInputControl) me.fireEvent('editcomplete', me); if (!isFromInputControl) me.fireEvent('editcomplete', me);